【问题标题】:PHP: strtotime formattingPHP:strtotime 格式化
【发布时间】:2012-07-24 19:24:04
【问题描述】:

我正在尝试将可读的时间和日期作为文件名的一部分(在 php 中)。我遇到了各种各样的麻烦,希望有人能提供帮助。我已经尝试了几种不同的建议,这些建议是我在互联网上阅读的(加上我阅读了手册),但我真的没有得到任何正确的工作。现在我有这个:

$Time=strtotime("now");
$date=DateTime::createFromFormat('m/d/Y H:i:s', '7/24/2012 14:40:30');
$date_readable=$date->$Timestamp();

然后,我将 $date_readable 添加到文件名中。它编译并运行,但它根本不格式化日期。它仍然将其作为时间戳提供。 关于如何使这项工作的任何建议?

【问题讨论】:

    标签: php timestamp strtotime


    【解决方案1】:

    你可以用简单的日期函数来做,例如

    $time = strtotime("now");
    $formatDate = date('F jS, Y h:i:s A', $time);
    echo $formatDate;
    

    这将打印类似的东西

    July 25th, 2012 1:02:29 am
    

    DateTime 类比使用简单的date 函数更强大,因为DateTime 类提供了强大的API,而且它是面向对象的。但是对于简单的日期转换,我会坚持使用 php 的日期函数。因为那可以达到我的目的。

    有关更多格式选项,请查看此链接http://www.php.net/manual/en/function.date.php#refsect1-function.date-parameters

    【讨论】:

    • 我不知道我为什么会遇到这样的问题。我觉得我尝试了一个类似于这个的解决方案(如果不完全是的话)。
    • 你也不需要strtotime("now");date() 在省略其第二个参数时假定当前时间。
    • 是的,@nickb 是正确的,但如果您有任何想要格式化的现有时间戳,那么您应该像这样使用它。
    • 有人投了反对票,没有解释。如果我在某件事上错了,您可能应该发表评论。我愿意提高自己。
    • @IbrahimAzharArmar 是的!非常感谢。因为我还很新,所以有时我会迷失在所有的行话中,但你解释得很清楚,简洁,这正是我所需要的。再次感谢
    猜你喜欢
    • 1970-01-01
    • 2013-09-10
    • 2023-03-03
    • 2015-06-07
    • 2023-04-10
    • 2011-02-06
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    相关资源
    最近更新 更多