无法理解time()和date()函数

时间:2016-02-20 00:12:54

标签: php mysql date

我正在尝试获取当前时间和日期,以便在我的网站上回应它。我有以下片段:

$date_of_msg  = date("Y-m-d");
$time_of_msg  = time();

当我回复$time_of_msg时,我得到00:00:00。我试图根据此解决方案编辑我的代码here,但是这种方法,当我回显变量时,我得到838:59:59。我只想让当前时间以24小时格式显示。

除此之外,我目前的日期格式为(Y-m-d),这很棒,因为它有效。我正在尝试格式化它以便显示day, number, year,即今天是2月20日,所以我希望日期显示Feb 20, 2016。我根据文档尝试了以下内容(请参阅here

$date_of_msg = date("F j, Y")

但同样,日期没有显示任何内容。我错过了什么吗?

4 个答案:

答案 0 :(得分:1)

此代码

<?php
echo date("Y-m-d").PHP_EOL;
echo time().PHP_EOL;
echo date("F j, Y").PHP_EOL;

按预期返回此结果

2016-02-20
1455927480
February 20, 2016

那你在做什么,实际上并没有告诉我们

答案 1 :(得分:1)

time()返回UNIX时间戳,而date()格式化时间戳。您的来电date("Y-m-d")date("Y-m-d", time())相同。

即使该函数被称为date(),它也可以格式化时间。您只需使用正确的占位符。例如。 date("H:i:s")会给你24小时的时间17:43:23

答案 2 :(得分:1)

time()(除非你以某种奇怪的方式覆盖它)给你一个时间戳,即从1970-01-01到现在已经过去的秒数。但是,date()会为您提供日期的字符串表示形式,可能包括也可能不包括分钟和秒数 - 具体取决于您选择格式化的方式。

因此,如果您想向用户显示时间和日期,您应该选择类似

的内容
$date_of_msg = date("F j, Y H:i:s")

date()上的documentation为您提供了对可用选项的精彩描述。

答案 3 :(得分:1)

如果您需要24小时格式的当前时间,请使用

$time_of_msg = date("H:i");

日期部分看起来是正确的,你必须在显示时做错事。