16

如何从 PHP 中的 Unix 时间戳获取日期(1-7)?我还需要日期(1-31)和月份(1-12)。

4

5 回答 5

50

您可以使用date()函数

$weekday = date('N', $timestamp); // 1-7
$month = date('m', $timestamp); // 1-12
$day = date('d', $timestamp); // 1-31
于 2010-03-19T07:22:05.717 回答
9

http://docs.php.net/getdate

例如

$ts = time(); // could be any timestamp
$d=getdate($ts);

echo 'day of the week: ', $d['wday'], "\n";
echo 'day of the month: ', $d['mday'], "\n";
echo 'month: ', $d['mon'], "\n";
于 2010-03-19T07:14:33.067 回答
9

这是您所追求的date()函数。

您可以从 PHP 手册中获得更多详细信息,但简而言之,这里是您需要的函数。

date('N', $timestamp);
//numeric representation of the day of the week

date('j', $timestamp);
//Day of the month without leading zeros

date('n', $timestamp);
//Numeric representation of a month, without leading zeros
于 2010-03-19T07:24:05.183 回答
3

如前所述,使用date$timestamp函数,将 your作为第二个参数:

$weekday = date('N', $timestamp); // 1 = Monday to 7 = Sunday
$month = date('m', $timestamp); // 1-12 = Jan-Dec
$day = date('d', $timestamp); // 1-31, day of the month

并非所有 PHP 版本都可以很好地使用负时间戳。我的经验是,可以追溯到 UNIX 时代之前的时间戳与新的DateTime对象相比更好。

于 2010-03-19T07:27:26.477 回答
2
print "Week".date('N')."\n";
print "day of month " .date('d')."\n";
print "month ".date('m')."\n";
于 2010-03-19T07:33:46.337 回答