Ben şu formatta (yyyyaagg, 18751104, 19140722) ... hangi tarihte (dönüştürmek için en kolay yoludur) bulunuyor .... veya mktime kullanıyor () Altdizgelerin ve benim en iyi seçenek tarihleri var ...?
Kullan strtotime()
to convert a string containing a date into a Unix timestamp:
<?php
// both lines output 813470400
echo strtotime("19951012"), "\n",
strtotime("12 October 1995");
?>
<?php
// prints 1995 Oct 12
echo date("Y M d", strtotime("19951012"));
?>
strtotime()
1970 başında Unix dönemi öncesinde tarihleri ile başarısız olur.
1970 öncesi tarihleri ile çalışacak bir alternatif olarak:
<?php
// Returns the year as an offset since 1900, negative for years before
$parts = strptime("18951012", "%Y%m%d");
$year = $parts['tm_year'] + 1900; // 1895
$day = $parts['tm_mday']; // 12
$month = $parts['tm_mon']; // 10
?>
Muhtemelen zaten bunu yapmak için hafif bir yol çünkü Şahsen, ben sadece () substr kullanmak istiyorum.
Ama burada formatını belirtebilirsiniz hangi bir tarih, alır bir fonksiyon. Bu bir ilişkisel dizi döndürür, böylece örneğin (denenmemiş) yapabilirdi:
$parsed_date = date_parse_from_format('Ymd', $date);
$timestamp = mktime($parsed_date['year'], $parsed_date['month'], $parsed_date['day']);
http://uk.php.net/manual/en/function.date-parse-from-format.php
Yine de söylemeliyim ki, ben bulmuyorum daha kolay veya daha fazla etkili basitçe daha:
mktime(substr($date, 0, 4), substr($date, 4, 2), substr($date, 6, 2));
Peki tüm cevapların ancak 1900 sorunu için teşekkürler I got her yanıtını veba gibi görünüyor. İşte ben kullanıyorum fonksiyonunun bir kopyası birisi gelecekte onlar için yararlı buluyorum gerektiğidir.
public static function nice_date($d){
$ms = array(
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
);
$the_return = '';
$the_month = abs(substr($d,4,2));
if ($the_month != 0) {
$the_return .= $ms[$the_month-1];
}
$the_day = abs(substr($d,6,2));
if ($the_day != 0){
$the_return .= ' '.$the_day;
}
$the_year = substr($d,0,4);
if ($the_year != 0){
if ($the_return != '') {
$the_return .= ', ';
}
$the_return .= $the_year;
}
return $the_return;
}