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ários3 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
Caixa Mágica organiza 2ª edição do PHP Summer School
“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”
Powered by Destakes

Comentários - Comentar ?

[image] 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

[image] 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

[image] 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
moiTem 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
[image] Posts
[image] Posts + comentários

[image]


Procurar...

Em movimento...

Últimos comentários...
29 Ago - Arbitro
26 Ago - tshirts cão azul...
26 Ago - apenas uma ideia!
22 Ago - Humm...?
21 Ago - Negócio
21 Ago - adsense... na mesma?
21 Ago - :\
21 Ago - Picar?
21 Ago - people vs phones
11 Ago - negative captchas FT...
09 Ago - No way
09 Ago - ler os outros

[image]
Buuuu... Last vacation day :-/
05, Sep - 15:09
iphone battery is misbehaving... Fear!
04, Sep - 02:09
Sopeira mode enabled http://twitpic.com/a2jq
03, Sep - 12:09
wow, o responsavel pelo apagao da sibs de 2007 suicidou-se segunda-feira... no dia do outro apagao. jeeesh.
03, Sep - 04:09
@zone41 pois, o regulamento inibia os colaboradores da Sonae Distribuição de participar... o que reduzia a coisa a 3,4 empresas ;)
03, Sep - 03:09
@zone41 pelas regras de utilização, já se via que só podia ser da Sonae ;)
03, Sep - 03:09
@celso o gráfico nao era nada tendicioso, sapo trocado por 'portugal telecom' (em 3º) e aeiou escrito em caps AEIOU.PT :)
03, Sep - 01:09
@rvidal right... mas é exitação a mais. Parece que tudo de repente ficou sem vida própria à espera de fazer download da coisa. just that.
03, Sep - 01:09



Procurar...


[image]
[image]
[image]
[image]

 

 


 

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.


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser