假设我有一个这种格式的日期
YearMonthDayHourMinuteSecond
所以例如
20130529051043
我需要从中减去一秒,直到它达到-3小时,直到它变成
20130529021043
我怎样才能使用 PHP 做到这一点?
假设我有一个这种格式的日期
YearMonthDayHourMinuteSecond
所以例如
20130529051043
我需要从中减去一秒,直到它达到-3小时,直到它变成
20130529021043
我怎样才能使用 PHP 做到这一点?
$current = \DateTime::createFromFormat("YmdHis", "20130529051043");
$end = \DateTime::createFromFormat("YmdHis", "20130529051043")->modify("-3 hours");
while ($current > $end) {
$current = $current->modify("-1 second");
// do your stuff
}
程序版本:
$current = date_create_from_format("YmdHis", "20130529051043");
$end = date_modify(date_create_from_format("YmdHis", "20130529051043"), "-3 hours");
while ($current > $end) {
$current = date_modify($current, "-1 second");
// do your stuff
}
你可以只使用strtotime。
$timestamp = strtotime("20130529051043");
如果您在三个小时前的时间之后,您可以减去 (60*60*3)
$three_hours_ago = $timestamp - (60*60*3);
并显示使用该date
功能
echo date("Y-m-d H:i:s", $three_hours_ago), " is three hours before ", date("Y-m-d H:i:s", $timestamp);