2016-06-08 71 views
1

我能想到一个非常漫长的方式,通过分解字符串,然后设置变量,将每个数字月份转换为文本月份,但在做所有这些之前,有一个更简单的方法来做到以下几点?将真实世界的日期转换为unix时间戳PHP

我有存储在一个变量这样的日期:

$date = '21/05/16'; 

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

我上述最终会使用的strtotime这样的方式:

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

但是就像我说的,我不得不通过“/”,那么每个数字表示的月转换为爆炸的$ date变量(05 = 5月等),最后将'20'注入每年的前面。这似乎真的很长,有更好的方法吗?

最后,我不确定我会如何将当前的小时,分​​钟,秒添加到strtotime(),即使我必须按照上述方式进行操作,所以请指出任何指针。

任何帮助非常感谢。

回答

2

可以使用DateTime对象:

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

和你做:)

编辑:走得更远,你可以操纵你的约会,并添加小时左右:

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

它增加了4小时3分2秒的日期。请注意,它不会返回新的日期,它会修改您正在操作的日期对象。

+0

你我的朋友是一个传奇:)谢谢你救了我一堆时间。 – Grant

相关问题