Ben bir metin dizesi alır bazı kod (bir wordpress eklentisi parçası) ve date (verilen biçim belirteci), ve saat içeren bir dizi, dakika, saniye, gün, ay, yıl ayrıştırmak için girişimleri var.
Şu anda, (unutmayın strtotime 01/02/03 gibi şeyler korkunç güvenilmez) aşağıdaki kodu kullanabilirsiniz
// $format contains the string originally given to date(), and $content is the rendered string
if (function_exists('date_parse_from_format')) {
$content_parsed = date_parse_from_format($format, $content);
} else {
$content = preg_replace("([0-9]st|nd|rd|th)","\\1",$content);
$content_parsed = strptime($content, dateFormatToStrftime($format));
$content_parsed['hour']=$content_parsed['tm_hour'];
$content_parsed['minute']=$content_parsed['tm_min'];
$content_parsed['day']=$content_parsed['tm_mday'];
$content_parsed['month']=$content_parsed['tm_mon'] + 1;
$content_parsed['year']=$content_parsed['tm_year'] + 1900;
}
Bu aslında oldukça iyi çalışıyor, ve ben atılan ettik her kombinasyonunu idare etmek gibi görünüyor.
Ancak, son zamanlarda kimse bana verdi 24 Ноябрь, 2010
. Bu [tarih formatı j F, Y
idi], ve o = 2010 yıl olarak ayrıştırılır, ay = null, gün = 24 24 Kasım 2010 için Rus.
Ben o 11 içine Kasım ve Ноябрь hem çevirmek için nasıl kullanabileceğiniz herhangi bir işlevleri vardır?
EDIT:
print_r(setlocale(LC_ALL, 0));
döner C
Running. Dönmeden strptime()
sorunu çözmek gibi görünüyor, ama docs uyarmak:
Dahili olarak, bu fonksiyon sistemin C kütüphanesi tarafından sağlanan () işlevini strptime çağırır. Bu fonksiyon, farklı işletim sistemleri arasında belirgin farklı davranışlar sergileyebilirler. Bu konularda muzdarip değil date_parse_from_format () kullanımı, 5.3.0 ve daha sonra PHP tavsiye edilir.
Is date_parse_from_format()
doğru API, ve eğer öyleyse, nasıl ben bu dili tanımak alabilirim?