将时间(例如15:00)转换为UNIX时间戳

时间:2013-03-22 15:21:14

标签: php function date unix-timestamp

是否可以使用PHP将时间(例如“15:00”)转换为UNIX时间戳?

不幸的是,我的这些数据来源不包括其余的日期/时间数据(日期等)。

我知道时间与时区有关,所以可以这样做吗?他们是一个预先存在的功能会这样做吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

没有日期,就不可能准确地做到这一点。

在夏令时区域,例如,当地时间15:00可能对应于10:00 UTC或9:00 UTC,具体取决于日期。

答案 1 :(得分:0)

DateTime::createFromFormat可能对您有用..正如@ceejayoz指出的那样,如果没有更多数据,就无法创建可靠的时间戳。以下示例假定每个日期与当天相关

<?php
$d = DateTime::createFromFormat('H:i', '15:00', new DateTimeZone('Europe/Berlin');
echo $d->getTimestamp();

答案 2 :(得分:-2)

不,你不能因为Unix时间戳中存在日期的想法。 Unix时间戳是自1970年1月1日以来的秒数。

由于PHP非常forgiving,您仍然可以使用strtotime函数。

的strtotime( “15:00”)

PHP假设当前日期/今天。

有关详细信息,请参阅以下链接。

http://php.net/manual/en/function.strtotime.php