将实际日期转换为Unix时间戳PHP

授予

我可以想到一个很长的方法来执行以下操作:分解字符串,然后设置将每个数字月份转换为文本月份的变量,但是在我完成所有这些操作之前,还有一种更简单的方法来执行以下操作吗?

我将日期存储在这样的变量中:

$date = '21/05/16';

我需要使用小时,分钟和秒的当前时间戳,使用变量的日期,月份和年份将其转换为Unix时间戳。

我上面描述的方式最终将使用strtotime,如下所示:

$unixtimestamp = strtotime("21 May 2016");

但是就像我说的那样,我必须用'/'来分解$ date变量,然后将每个数字月份转换为文本月份(05 =五月等),最后将'20'插入到每年的开头。这似乎真的很长,有更好的方法吗?

最后,我不确定如何将当前的小时,分​​钟,秒数添加到strtotime()中,即使我确实必须按照上面描述的方式进行操作,所以任何有关此的指针都将非常有用。

任何帮助,不胜感激。

耶稣的匈奴

您可以使用DateTime对象:

$date = '21/05/16';
$dateObject = DateTime::createFromFormat('d/m/Y', $date);
$timestamp = $date->getTimestamp();

你完成了:)

编辑:要走得更远,您可以操纵日期并增加小时数:

$dateObject->add(new DateInterval('P4H3M2S')); 

它增加了4小时3分2秒的日期。请注意,它不会返回新日期,而是会修改您要处理的日期对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章