好的,基本上我有两个变量,一个名为$day
,另一个名为$time
我想要做的就是将这两个变换为一个unix时间戳,例如;
$day = 'Monday';
$time = '14:00:00';
所以我正在寻找的是一个$timestamp
变量,它会以unix时间戳格式回显Monday
的{{1}}。
我猜这个最困难的部分是这一天不是特定日期更多的一周,这意味着它必须选择下一个14:00:00
即将到来,或下一个{ {1}}例如。
感谢您的帮助。
答案 0 :(得分:4)
DateTime
类的构造函数非常擅长解决这类问题:
<?php
$day = 'Monday';
$time = '14:00:00';
$date = new DateTime("next $day $time");
echo $date->getTimestamp();
// 1475503200
答案 1 :(得分:0)
$datetime = new DateTime();
echo $datetime->format('U');
解决方案一:
mktime - 获取日期的Unix时间戳
echo mktime(23, 24, 0, 11, 3, 2009);
1257290640
返回与给定参数对应的Unix时间戳。此时间戳是一个长整数,包含Unix Epoch(1970年1月1日00:00:00 GMT)与指定时间之间的秒数。
可以从右到左依次排除参数;这样省略的任何参数将根据本地日期和时间设置为当前值。
mktime($isAM ? $hrs : ($hrs + 12), $mins, $secs, $m, $d, $y);
要处理AM / PM,如果是PM,则只需添加12小时。
解决方案二:
strtotime
返回成功时间戳,否则返回FALSE。
echo strtotime('2012-07-25 14:35:08' );
<强>输出:强>
1343219708