ramblings about life and tech...  

Dezembro, 29 2005
Quinta-feira

PHP meltdown
strftime('%d', strtotime('now'));
Sempre usei este código para me devolver o dia actual em PHP. Sempre me foi fiel durante pelo menos três ou mais anos, em PHP 4 e 5. Depois de ontem ter feito um upgrade ao PHP puf, passou-se. Passo a explicar...

[karlus@xunga ]$ date
Wed Dec 28 23:49:19 WET 2005
[karlus@xunga newsletter]$ php -r "echo strftime('%d', strtotime('now'));"
29

[karlus@xunga ]$ date
Thu Dec 29 00:01:30 WET 2005
[karlus@xunga newsletter]$ php -r "echo strftime('%d', strtotime('now'));"
29

Que eu saiba o 'now' não deixou de ser um Date Input Format válido.
Depois leio isto...
In PHP 5 up to 5.0.2, "now" and other relative times are wrongly computed from today's midnight. It differs from other versions where it is correctly computed from current time.
Pelo meu inglês do 5 ao 5.0.2 houve um problema que foi corrigido e ficou tudo na mesma.
Depois do tal upgrade de ontem um script que dispara às 23:45 passou a julgar que já está no dia seguinte

[karlus@xunga ]$ php -r "echo strftime('%d', strtotime('Wed Dec 28 23:00:00 WET 2005'));"
29
[karlus@xunga ]$ php -r "echo strftime('%d', strtotime('Wed Dec 28 22:59:00 WET 2005'));"
28
Que merda é esta ? Tangas de TIMEZONEs ? Que novidade passou a existir que não esteja documentada ? Arrrg....

Update: A solução

Hora 29 Dezembro 2005 - 00:43   Comentários 3 Comentário(s)   Technorati links   Linking posts

Notícias possivelmente relacionadas:
Jurinfor, PHP e Viatecla adoptam formato Open XML da Microsoft
Versão 4 do PHP chega ao fim
O Guia Prático do Dreamweaver CS3 com PHP, JavaScript e Ajax
“Não há nada que só se consiga desenvolver com PHP”
Resultados das bolsas de investigação colocados na Internet à revelia da FCT
Acto “irresponsável e eticamente condenável”
João Sentieiro: Acto “irresponsável e eticamente condenável”
Powered by Destakes


Comentários - Comentar ?

Que tal usar a função date()
E que tal usares a função date('d'); para resolveres o problema?

Se leres o manual:
date -- Format a local time/date
strftime -- Format a local time/date according to locale settings

date() e strftime() não são a mesma coisa. Para aquilo que queres podes e deves utilizar o date().

Já agora: "Como o PHP é um show e de versão para versão qualquer coisa é fully rewritten para trocar as voltas ao pessoal..."
Então prepara-te que com a versão 6 os teus scripts vão deixar de funcionar(tal como o novo Perl ;)).


por Nuno Mariz a 10 Janeiro 2006 - 11:22

Same shit
Não percebi o "deves"... pq devo ? A mim interessam-me as 'locale settings'.

Anyway... um $day = date("d"); produzia o mesmo resultado. Bem antes e mal(sem alterar a config) agora no PHP 5.1

Do 4 para o 5 quase nada deixou de funcionar, tirando umas asneiras minhas e uma ou outra função que deixou de retornar o que retornava. Quando ao Perl, quando o 6 chegar já eu tenho filhos e eles me ensinam JAVA. :-D

por Carlos Jorge Andrade a 10 Janeiro 2006 - 12:51

e não acaba aqui...
pelos vistos ha mais coisas ainda k não são suportadas no 5.1: http://derickrethans.nl/php_lags_23_seconds.php
por orixilus a 11 Janeiro 2006 - 01:48


Blogmaster
moi Tem 32 anos, é natural de Vila Nova de Famalicão mas mora no Porto desde que veio para a universidade... bem, morou. Agora já casado, está pela Maia. Anda pela internet há já uns 12 anos tendo trabalhado em vários projectos como foram o caso do Mail.pt ou no Sapo. Nos tempos livres vai tendo tempo para fazer umas brincadeiras, entre as quais o ITJobs o Lusocast o Hispanocast ou o Destakes
De resto já bloga há uns 7 anos apesar de ter perdido parte da "vida" numa mudança de hosting provider. Algumas restias ainda por aí andam... ah, e o email de contacto está no footer.
Btw... job offers are welcome!

Feeds RSS
Posts
Posts + comentários
Twitter



Procurar...

Em movimento...
mais fotos...

Últimos comentários...
04 Jul - Quem anda devagar?
01 Jul - Esclarecendo
01 Jul - Velho do Restelo
01 Jul - sim, a realidade
01 Jul - Sure
30 Jun - Efficient Dynamics
30 Jun - Bullshit
29 Jun - ah pois
29 Jun - 3g
29 Jun - RE: How You Drive it...
29 Jun - How you drive it...
28 Jun - A realidade às vezes...


off to a @godevel dinner
04, Jul - 20:07
5 hours sleep... tired :-/
04, Jul - 19:07
título idiota do dia "homem deu a luz uma menina"
04, Jul - 18:07
top gear episode 2 in youtube :)
04, Jul - 16:07
@carlosduarte a unica coisa dinamica era o adssense, e isso é deles.
04, Jul - 16:07
@carlosduarte no meu caso eu não pus lá nada e mesmo assim diziam que dava para sacar isto e aquilo de nao sei de onde.
04, Jul - 16:07
@carlosduarte tb ja fui mordido por isso há dias... o google anda meio burro.
04, Jul - 16:07
5 hours hacking around a mediawiki... bed now. :-(
04, Jul - 05:07


Arquivos...
Junho 2008 (28)
Maio 2008 (17)
Abril 2008 (14)
Março 2008 (21)
Fevereiro 2008 (21)
Janeiro 2008 (33)
Dezembro 2007 (23)
Novembro 2007 (16)
Outubro 2007 (6)
Setembro 2007 (16)
Agosto 2007 (18)
Julho 2007 (17)
Junho 2007 (10)
Maio 2007 (30)
Abril 2007 (17)
Março 2007 (24)
Fevereiro 2007 (27)
Janeiro 2007 (20)
Dezembro 2006 (16)
Novembro 2006 (20)
Outubro 2006 (24)
Setembro 2006 (18)
Agosto 2006 (33)
Julho 2006 (30)
Junho 2006 (31)
Maio 2006 (17)
Abril 2006 (21)
Março 2006 (23)
Fevereiro 2006 (26)
Janeiro 2006 (38)
Dezembro 2005 (33)
Novembro 2005 (28)
Outubro 2005 (33)
Setembro 2005 (48)
Agosto 2005 (43)
Julho 2005 (35)
Junho 2005 (47)
Maio 2005 (37)
Abril 2005 (38)
Março 2005 (25)
Fevereiro 2005 (27)
Janeiro 2005 (35)
Dezembro 2004 (42)
Novembro 2004 (26)
Outubro 2004 (45)
Setembro 2004 (52)
Agosto 2004 (25)
Julho 2004 (53)
Junho 2004 (55)
Maio 2004 (60)
Abril 2004 (46)
Março 2004 (65)
Fevereiro 2004 (45)
Janeiro 2004 (68)
Dezembro 2003 (68)
Novembro 2003 (59)
Outubro 2003 (67)
Setembro 2003 (46)
Agosto 2003 (31)
Julho 2003 (36)

Aqui ao lado...
Pedro Figueiredo
Pedro Melo
Celso Martinho
Sérgio Carvalho
Rui Carmo
Nuno Loureiro
Maria João Nogueira
Filipe Miguel Tavares
Bruno Pedro
Ricardo
Nuno Mariz
Vitor Magalhães
Carlos Duarte
Mário Lopes

Procurar...



 

 


 

não chateiem com os erros de Português... "the bad spelling is part of the charm". ;-)
escusado será dizer que as opiniões aqui expressas são minhas e só minhas, e não de outros ou da empresa onde trabalho
qualquer outro bitaite... ramblings at karlus.net
não, não é powered by MovableType ou Wordpress, é powered by código meu em PHP

O conteúdo deste site não poderá ser utilizado sem a sua autorização expressa.
As imagens nele contidas são propriedade dos respectivos autores.