Ben aşağıdaki biçimde bir tarih var
November 18, 2009, 3:00PM
I kendi değişken olarak değer saklayabilir ki bu yüzden ben bu durumu nasıl zarar verebilir?
gibi ...
$month //November
$day //18
$year //2009
$hour //03
$minute //00
$ampm //PM
$str = "November 18, 2009, 3:00PM";
list($month,$day,$year,$time) = preg_split('/[ ,]/',$str,false,PREG_SPLIT_NO_EMPTY);
preg_match('/([0-9]+):([0-9]+)([AP]M)/',$time,$timeparts);
list($time,$hour,$minute,$ampm) = $timeparts;
echo "\$month $month\n";
echo "\$day $day\n";
echo "\$year $year\n";
echo "\$hour $hour\n";
echo "\$minute $minute\n";
echo "\$ampm $ampm\n";
Çıktı
$month November
$day 18
$year 2009
$hour 3
$minute 00
$ampm PM
'Date_parse' (http://nl2.php.net/manual/en/function.date-parse.php) işlevini kullanın. Bu çözümlü öğeleri içeren bir dizi döndürür:
Array
(
[year] => 2006
[month] => 12
[day] => 12
[hour] => 10
[minute] => 0
[second] => 0
[fraction] => 0.5
[warning_count] => 0
[warnings] => Array()
[error_count] => 0
[errors] => Array()
[is_localtime] =>
)
More complex solution. If your dates may be in the different standards you can use date() function (http://php.net/manual/en/function.date.php) + strtotime() function (http://php.net/manual/en/function.strtotime.php), which parse string and returns the unix timestamp.
Eğer tarih dizeden bir yıl almak istiyorsanız Örneğin, sonraki kod yazabilirsiniz:
$date = 'November 18, 2009, 3:00PM';
$year = date('Y', strtotime($date));
Eğer olsun tarihte ayda ne kadar gün bilmek istiyorsanız Veya, böyle bir kod yazabilirsiniz:
$date = 'November 18, 2009, 3:00PM';
$num_of_days = date('t', strtotime($date));
'T' aydaki gün sayısını döndürür.