Tiago Madeira Inferências aleatórias de um cérebro em versão alpha

"Só se dedicará a um assunto com toda a seriedade alguém que esteja envolvido de modo imediato e que se ocupe dele com amor. É sempre de tais pessoas, e não dos assalariados, que vêm as grandes descobertas."
(Arthur Schopenhauer)

Funções para usar as datas discordianas em páginas PHP

Se você já entrou no 1001 Gatos de Schrödinger e prestou atenção, já notou comentários feitos em 51/Caos/3174, às 04:77:67. A numeração discordiana, conforme especificado na ISO 55555, segue padrões restritos em relação ao formato de data e hora, conforme explicado no Principia Discordia e exposto pelo Rev. Peterson Cekemp neste post. O recente sistema de contagem de horas foi criado pelo Santaum.

O problema é que muitos discordianos sofrem porque não conseguem usar este sistema nos seus sites, blogs ou fnords. Este post ilustrará de maneira simples como usar as funções de data e horário discordiano na vida real e no Wordpress, com minhas funções que estão licenceadas sob esta Creative Commons pelo 1001 Gatos de Schrödinger. Os códigos estão disponíveis para download láaaa embaixo...

Como funciona a função ddate

O Linux vem com um comando super útil chamado ddate, que serve para converter uma data do formato gregoriano para o discordiano. Sem argumento, ele retorna a data de hoje. Com argumento (dia mês ano -- gregorianos) ele retorna essa data discordiana.

tiago@flick ~ $ ddate
Today is Sweetmorn, the 51st day of Chaos in the YOLD 3174
tiago@flick ~ $ ddate 06 07 1990
Boomtime, Confusion 41, 3156 YOLD

ddate também aceita um argumento que é o formato da data.

tiago@flick ~ $ ddate +Dia\ %d
Dia 51

Minha função ddate (que gera a data mostrada embaixo de cada título de post no 1001 Gatos) é simples: ela executa via shell (shell_exec) este comando e traduz o mês para o português.

Como funciona a função dtime

A partir de um horário convencional, ela usa o raciocínio matemático explicado pelo Rev. Peterson (não vou explicar novamente) e retorna o novo horário.

Wordpress

O Wordpress usa quatro funções que vamos precisar conhecer aqui:

  • the_time() - imprime horário
  • the_date() - imprime data
  • get_the_time() - retorna horário
  • get_the_date() - retorna data

Queremos sempre retornar a hora/data, então as primeiras duas são inúteis porque elas só imprimem (só listei porque você deve procurá-las no seu template para substituir).

Devemos declarar nossas funções ddate() e dtime() num arquivo que seja incluído por todas as páginas (crie um functions.php ou use o header.php -- essa é a solução do 1001 Gatos). Então nas páginas que precisamos do horário e data discordianas, basta substituir:

  • the_time() por echo dtime(get_the_time("H:i:s"))
  • the_date() por echo ddate(get_the_date("d m Y"))

E é só! Parabéns, você agora está usando datas discordianas. Se não deu certo, sinta-se livre para tirar dúvidas nos comentários.

No 1001 Gatos, a data nos comentários é mostrada de forma abreviada (dia/mês/ano). Pra fazer isso é só modificar o formato da data no shell_exec(), deixando a função como ddate2() que está disponível para download também aí embaixo.

Download

Aqui está: ddates.phps (menos de 1kb, UTF-8)

Technorati Tags: , , , , , , ,

Compare Preços de: notebooks, acer aspire, hp pavilion, computadores, pentium 4, nintendo wii, ps3, celulares, câmeras digitais

Escrito por Tiago Madeira no dia 20/02/2008 às 13h 20min. Acompanhe os comentários via RSS 2.0. Você pode deixar um comentário ou fazer um trackback do seu site.

6 comentários para “Funções para usar as datas discordianas em páginas PHP”

  1. #1 | Santaum

    Muito interessante Tiago,

    Pelo menos, conforme conversa no GMAIL, o comando dtime funcionou.

    Agora, vamos ver o lance do ddate por outra via que não seja aquela do shell_exec.

  2. #2 | Santaum

    Tiago,

    Lembrando, este sistema de horários não foi inventado por mim. Foi apenas pensado, apenas uma idéia, hehehe… Este sistema de contagem já existe…

  3. #3 | juliana

    Bom dia
    Meu assunto nao tens nada haver com o topico só que estou em apuros e quero ver se voce pode me ajudar tenho um notebook acer 3100-1561 no qual eu instalo windows xp pro original e trava já troquei memoria hd e nada chega em uma parte que trava e nao vai adiante voce já viu algo parecido pois estou sem a garantia deu a mesma coisa quando comprei e foi pra garantai e ficou tres meses com a acer pode? é fogo se puder me ajudar agradeço.
    Um abraço
    Juliana

  4. #4 | Rev. Peterson Cekemp

    Humm, um problema!

    Coloquei as funções no functions.php e depois, quando tentei modificar a single.php (single post) com o neógicio get_the_time e tal, a resposta foi a seguinte:

    Warning: Cannot modify header information - headers already sent by (output started at /home/orkutcid/public_html/wordpress/wp-content/themes/blackmagic/functions.php:11) in /home/orkutcid/public_html/wordpress/wp-admin/theme-editor.php on line 55

    E aí? =/

  5. #5 | Tiago Madeira

    Sua linha 11 no functions.php deve estar em branco ou ter alguma coisa fora das tags do PHP (< ? php e ?>).

  6. #6 | Rev. Peterson Cekemp

    Bom, no functions.php não deu pra colocar de nenhum jeito, aí coloquei no Header. Coloquei os códigos pra aparecer o tempo e a data no ’single post’ do tema mas ele aparece assim:

    Post escrito em às

    Depois de ‘em’ era pra estar a data, depois de ‘ás’, o tempo.

Deixe um comentário

Dados Pessoais
  • Obrigatório.
  • Obrigatório, não publicado.
Comentário

Artigos relacionados:

Assine via RSS

Assine gratuitamente o meu blog e receba todas as atualizações na hora, em seu agregador de feeds favorito.

Seja o 231º assinante

Busca no blog

Escreva palavras-chave para buscar e clique em Pesquisar.

Busca Google

Blogs de minha autoria

Publicidade

Dreamhost

Creative Commons - Some rights reserved tiagomadeira.net © Todo o conteúdo deste blog, exceto quando especificado o contrário, está licenciado sob uma Licença Creative Commons por Tiago Madeira. Os comentários são de responsabilidade de seus respectivos autores.