Ben daha önce bu bir rastlamak hiç inanmak olamaz.
Temelde, ben insan oluşturulan metin belgeleri metni ayrıştırma ve ben ayrıştırmak için gereken alanlardan biri bir tarih ve zamandır. Ben Avustralya'da olduğum için, tarih dd/mm/yyyy
gibi biçimlendirilir fakat strtotime
sadece bir ABD biçimlendirilmiş tarihi olarak ayrıştırmak istiyor. Ben Ayrıca, belirtildiği gibi /
işe gitmiyor ile patlayan, bu belgeler el-daktilo ve bunlardan bazıları d M yy
biçimini alır, çünkü.
I setlocale
birden kombinasyonları denedim ama deneyin ne olursa olsun, dili her zaman ABD İngilizcesi ayarlanır.
Ben setlocale anahtarı burada oldukça eminim, ama ben doğru kod üzerine grev mümkün görünmüyor. Bu çalıştı:
- au
- au-tr
- en_AU
- Avustralya
- aus
Ben deneyebilirsiniz başka bir şey?
Açıklık için: Ben Windows kutusu ile IIS üzerinde koşuyorum.
Çok teşekkürler :)
Iain
Örnek:
$mydatetime = strtotime("9/02/10 2.00PM");
echo date('j F Y H:i', $mydatetime);
Üretir
2 September 2010 14:00
Ben bunu üretmek istiyorum:
9 February 2010 14:00
My solution
Ben bu benim için çok daha kolay okunur bir çözüm olarak burada cevapları birine kene vererek, ama burada ben ile geldim ne kulüpler:
$DateTime = "9/02/10 2.00PM";
$USDateTime = preg_replace('%([0-3]?[0-9]{1})\s*?[\./ ]\s*?((?:1[0-2])|0?[0-9])\s*?[./ ]\s*?(\d{4}|\d{2})%', '${2}/${1}/${3}', $DateTime);
echo date('j F Y H:i',strtotime($USDateTime));
Ben onların tarih girişi ile tutarlı olması için kullanıcılar güvenemez Çünkü, benim regex biraz daha karmaşık yaptık:
- 0 ile 3 arasında, 0 ya da 1 basamak
- 0 ve 9 arasında 1 basamak - evet, bu geçerli bir tarih olarak 37 maç olacak ama ben regex zaten yeterince büyük olduğunu düşünüyorum!
- Bazı boşluk olabilir
- Sınırlayan karakter (bir '.', Bir '/' veya ')
- Bazı boşluk olabilir
- Either:
- 10 ve 12 arasında bir sayı veya
- Isteğe bağlı bir lider 0 ile 1 ile 9 arasında bir sayı
- Bazı boşluk olabilir
- Sınırlayan karakter (bir '.', Bir '/' veya ')
- Bazı boşluk olabilir
- Either:
- 2 basamaklı uzun VEYA sayı
- 4 basamak uzunluğunda bir sayı
Umarım bu tarihi yazının en stilleri maç olacak ...