我必須做到以下幾點,入住時間
我的約會對象有兩種格式爲Y-m-d H:i:s
和Y-m-d
我的要求是,
如果日期包含時間(H
),需要轉換到F j, Y, g:i a
別的F j, Y
是沒有辦法,我可以提前在Y-m-d H:i:s
感謝檢查H
我必須做到以下幾點,入住時間
我的約會對象有兩種格式爲Y-m-d H:i:s
和Y-m-d
我的要求是,
如果日期包含時間(H
),需要轉換到F j, Y, g:i a
別的F j, Y
是沒有辦法,我可以提前在Y-m-d H:i:s
感謝檢查H
Y-m-d
日期格式的長度是10
字符和Y-m-d H:i:s
日期格式的長度是19
字符。根據長度你可以找到它是否有日期部分。即使長度爲19個字符,時間部分可能爲0,在這種情況下,您會忽略時間部分。沿着這條線應該工作:
// $date = "2013-09-26";
// $date = "2013-09-26 00:00:00";
$date = "2013-09-26 00:00:01";
if(strlen($date) == 10)
{
// Include code to convert the date to F j, Y
echo $date , ' Does not have time part .';
}
else
{
if( strlen($date) == 19 and substr($date, 10, 8) <> '00:00:00')
{
// Include code to convert the date to F j, Y, g:i a
echo $date , ' Has time part which is not 0 .';
}
else
{
// Include code to convert the date to F j, Y
echo $date , ' Has time part but is 0 .';
}
}
的東西正從一個數據庫,可能會或可能不會與時間的日期,當我使用任何避孕方法。根據需要修改。
IF(
TIME({$val['field_name']}) = '00:00:00',
DATE_FORMAT(DATE({$val['field_name']}),'%D %M %Y'),
DATE_FORMAT({$val['field_name']},'%l:%i%p, %D %M %Y')
)
嘗試......
if(strstr($date, ' ') !== FALSE) {
$date = date('F j, Y, g:i a', strtotime($date));
} else {
$date = date('F j, Y', strtotime($date));
}
它有點冗長 - 作爲@Bamar說你可以只檢查空間,但這會工作,即使有領導或現場尾隨空格:
$date_format = "\s*\d\d\d\d-\d\d-\d\d\s*";
$date_time_format = "\s*\d\d\d\d-\d\d-\d\d\s\d\d:\d\d:\d\d\s*";
if(preg_match($date_time_format, $subject)){
$subject = date('F j, Y, g:i a', strtotime($subject));
}
elseif(preg_match($date_format, $subject)){
$subject = date('F j, Y', strtotime($subject));
}
else{
//formatting error - you can decide how to format.
}
使用'strstr()'看看日期是否有空格。 – Barmar
這是從一個數據庫? – 2013-09-26 03:18:26
我嘗試了'strstr($ date,date(「H」,strtotime($ date)))'並且正在工作 –