簡體   English   中英

如果不是00:00:00,則顯示php時間

[英]Display php time if not 00:00:00

如果時間不是00:00:00如何顯示時間? 這行得通,但是,我懷疑這樣做是否有一種不太神秘的方法。 注意,提供的日期時間將是標准的MySQL日期時間數據類型,並且要顯示的所需日期時間將有所不同。 謝謝

<?php
function formatDate($d)
{
    $f='Y-m-d'.((strlen($d)==19 && substr($d, -8)!='00:00:00')?' H:i:s':null);
    $date = new DateTime($d);
    return $date->format($f);
}
echo(formatDate("2014-11-02 02:04:05").'<br>');
echo(formatDate("2014-11-02 00:00:00").'<br>');
?>

您的方法似乎不錯,但您也可以這樣做:

$f = 'Y-m-d' . (date('H:i:s', strtotime($d)) != '00:00:00' ? ' H:i:s' : '');

觀看演示


更新:

@zerkms在他的評論中很重要 為什么要重新格式化為相同格式? 除非您要使用與Ymd不同的格式,否則最好不使用任何函數,而僅使用str_replace()更好。 或者您可以這樣簡化您的功能:

function formatDate($d)
{
    return str_replace(' 00:00:00', '', $d);
}

見演示2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM