当前位置:  开发笔记 > 编程语言 > 正文

Datetime到Unix时间戳

如何解决《Datetime到Unix时间戳》经验,为你挑选了5个好方法。

是否有人坐在PHP函数上将format 0000-00-00 00:00:00(datetimesql)的日期转换为unix时间戳?



1> John Conde..:

要在PHP 5.2中执行此操作,您可以执行以下操作:

$datetime = new DateTime();
echo $datetime->format('U');

从PHP 5.3开始,更新的方法是:

$datetime = new DateTime();
echo $datetime->getTimestamp();



2> wvanbergen..:

另一个选项是你用SQL标记了这个问题:MySQL函数FROM_UNIXTIMEUNIX_TIMESTAMP- > MySQL手册

SELECT UNIX_TIMESTAMP(datetime_column) FROM table

这通常比PHP函数调用快.



3> ceejayoz..:

@bartek - 正如您所说,PHP的strtotime功能非常适合这一点.它可以处理大多数常见的日期格式,包括"明天"或"+ 5个月"等字符串.


请注意,因为它可以处理这么多格式,所以它真的很慢.如果你打算经常打电话,请不要使用它.

4> Alnitak..:

使用strptime()解析的时间,把它变成一个结构化的阵列.

然后将结果传递给mktime()函数以获取UNIX时间戳.



5> deepcell..:

我在这里为您提供解决方案:

/* From MySQL datetime to Unix Timestamp 2003-12-30 23:30:59 -> 1072834230 */
function convertMysqlDateTimeToUnixTimeStamp($date) {
    $yr=strval(substr($date,0,4));
    $mo=strval(substr($date,5,2));
    $da=strval(substr($date,8,2));
    $hr=strval(substr($date,11,2));
    $mi=strval(substr($date,14,2));
    $se=strval(substr($date,17,2));
    return mktime($hr,$mi,$se,$mo,$da,$yr);
}

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有