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)    

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
Caixa Mágica organiza 2ª edição do PHP Summer School
Microsoft associa PHP e Business Intelligence
Erro em vírgula flutuante no PHP afecta servidores
Formação em PHP
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 36 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 16 anos tendo trabalhado em vários projectos como foram o caso do Mail.pt ou no Sapo. Também conhecido como o responsável pelo ITJobs, o Destakes e o Usauto entre outras brincadeiras. De resto já bloga há uns 11 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.

Feeds RSS
Posts
Posts + comentários
Twitter



Procurar...

Por aí...

Últimos comentários...
05 Dez - Media?!?
28 Set - NetFacturação
13 Jul - L.M Agência Web
14 Jun - Espaço
30 Mai - mapa de Abrantes
16 Mai - rasismo?
28 Abr - Jornalismo versus Publicidade
29 Mar - Requerimento de prestações...
31 Jan - Eis a explicação!...
17 Jan - Sou eu
11 Jan - Foi inaugurado um novo espa...
07 Jan - Guerra ao rubro


Arquivos...
Agosto 2010 (1)
Maio 2010 (4)
Abril 2010 (2)
Março 2010 (2)
Fevereiro 2010 (5)
Janeiro 2010 (5)
Dezembro 2009 (3)
Novembro 2009 (5)
Setembro 2009 (4)
Agosto 2009 (6)
Julho 2009 (9)
Junho 2009 (2)
Maio 2009 (10)
Abril 2009 (5)
Março 2009 (7)
Fevereiro 2009 (16)
Janeiro 2009 (15)
Dezembro 2008 (18)
Novembro 2008 (9)
Outubro 2008 (15)
Setembro 2008 (13)
Agosto 2008 (11)
Julho 2008 (17)
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


 

 


 

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.