Şöyle datestrings vardır:strtotime yanlış
"2012 28 Nov 21:00 CET"
strtotime("2012 28 Nov 21:00 CET")
dönüş yanlış.
Bu dizeyi bir tarih nesnesine dönüştürmenin herhangi bir yolu var mı, yoksa onu farklı şekilde biçimlendirmem gerekiyor mu?
Şöyle datestrings vardır:strtotime yanlış
"2012 28 Nov 21:00 CET"
strtotime("2012 28 Nov 21:00 CET")
dönüş yanlış.
Bu dizeyi bir tarih nesnesine dönüştürmenin herhangi bir yolu var mı, yoksa onu farklı şekilde biçimlendirmem gerekiyor mu?
2012 28 Nov 21:00 CET
garip tarih/saati biçim. Y-G-A? Bunu nereden aldın? Her halükarda
, DateTime nesnesi daha iyi bir iş yapacak bir yöntem createFromFormat
o ayrıştırma vardır:
$dt = DateTime::createFromFormat("Y d M H:i T", '2012 28 Nov 21:00 CET');
$ts = $dt->getTimestamp();
echo $ts; // 1354132800
Burada deneyin: http://codepad.viper-7.com/NfAmcw
strtotime
bir "İngiliz metinsel datetime" beklediğini (according to the manual) YDM değil. Herhangi bir zaman strtotime
yanlış döndürür, yalnızca bu uygulamada beklenen dize anlamıyor.
Not: m
Tarihler/d/y veya GAY biçimleri çeşitli bileşenler arasındaki ayırıcı bakarak belirsizlikler vardır: eğer ayırıcı bu konuyla manuel sayfa fırsatlar Üzerine Bir Not bir eğik çizgidir (/), daha sonra Amerikan m/d/y varsayılır; ayırıcı bir tire (-) veya nokta (.) ise, o zaman Avrupa d-m-y formatı kabul edilir.
Potansiyel belirsizliği önlemek için, mümkün olduğunda, ISO 8601 (YYYY-AA-GG) tarihlerini veya DateTime :: createFromFormat() öğelerini kullanmak en iyisidir.
Bu, DateTime
gibi tarih veya saatlerle herhangi bir etkileşim için üstün bir araçtır.
Belgeler
DateTime
sınıf-http://www.php.net/manual/en/class.datetime.phpDateTime::createFromFormat
- http://www.php.net/manual/en/datetime.createfromformat.phpstrtotime
-http://php.net/manual/en/function.strtotime.phpdate
(ayrıca tarih biçimi dizeleri listeler) - http://php.net/manual/en/function.date.phpParlak! Çok teşekkür ederim! – Xyon
strtotime bir tarih nesnesi oluşturmuyor, yalnızca girişinizi ayrıştırmaya çalışır ve bir unix zaman damgası döndürür.
Burada geçerli biçimlerini bulabilirsiniz: http://www.php.net/manual/en/datetime.formats.php
echo strtotime("2012-11-28T21:00:00+01:00");
çıkış 1354132800
bir php DateTime nesne oluşturmak için bunu yapabilirsiniz olacaktır:
$date = new DateTime('2012-11-28T21:00:00+01:00');
echo $date->format('Y-m-d H:i:s');
['date_parse_from_format'] 'ı kullanmayı deneyin (http://php.net/manual/en/function.date-parse-from-format.php). –
Dize tarihini nereden alıyorsunuz? – phpisuber01
@ phpisuber01 Bir html sayfasından çıkartılıyor. – Johan