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

将ISO日期转换为Unix时间戳的最有效方法?

如何解决《将ISO日期转换为Unix时间戳的最有效方法?》经验,为你挑选了1个好方法。

在我的应用程序中,我有一些记录,我需要根据一些时间参数进行过滤.要进行日期比较,我需要将记录中的日期(格式为YYYY-MM-DD的字符串)转换为unix时间戳(自1970年以来的秒数).由于我有成千上万的记录,我真的想找到最有效的方法.

回答另一个问题提示做它在数据库中(不是一个不错的选择,遗憾的是),使用strtotime()strptime(),但这些不觉得最喜欢的内存和时间,有效的方法,你知道吗?

鉴于我知道输入的确切格式,可能会使用某种形式的字符串操作(substr,或explode)结合mktime更好?

如果你认为我的优化还不成熟,那么只是幽默我好吗?



1> 小智..:

为什么你认为strtotime()不是一个有效的函数?你做过任何基准测试吗?请记住,strtotime()是一个内置的库函数,它将直接用C语言编写,而你出现的任何东西都将通过php解释器运行.

还要记住,日期计算本质上很棘手,对闰年和时区等问题也是如此.

至于另一种更快的方法,我认为使用substr()进行解析将比正则表达式更快.将结果输入mktime()并进行设置.

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