2011-09-12 64 views
3

什么是采取UTC时间戳(整数)并仅在PHP中为年,月和日解析它的最佳方式?谢谢只用年份,月份和日期解析PHP中的UTC时间戳?

+0

按UTC时间戳你的意思是“Unix时间戳”? – NullUserException

+0

如果您指的是unix时间戳,您可以使用日期函数(http://de.php.net/manual/en/function.date.php)来收集具体信息。如果你想分析格式化的时间戳,请举个例子。 – Bjoern

+0

例如:strtotime(“2011-9-12 05:48:00”)评估为1315806480 ...我希望能够取这个整数并将其处理为strtotime(“2011-9-12”)或1315785600 – Tyrick

回答

3

使用PHP date()函数。

<?php 
$timestamp = strtotime("2011-9-12 05:48:00"); 
$year = date('Y', $timestamp); 
$month = date('m', $timestamp); 
$day = date('d', $timestamp); 
$newTimestamp = mktime(0, 0, 0, $month, $day, $year); 
+0

不是真的我正在为..这不会返回值unix timestamp方面..也,我不需要他们分开..看到例如我在评论中给了我的文章。谢谢 – Tyrick

+0

是啊,没注意到我用strtotime而不是mktime ... – Ofir

+1

哦哇。我甚至没有读过那段代码的最后一行..对..我想这就是这样做的方法。 。 谢谢! – Tyrick

1

DateTime类是这种任务

<?php 
// for PHP5.2+ though 
var_dump(date_create('2011-9-12 05:48:00')->setTime(0, 0, 0)->format('U')); 
// if input is in integer already 
$input = 1315806480; 
var_dump(date_create("@{$input}")->setTime(0, 0, 0)->format('U')); 
+0

Britt正在使用Unix时间戳,因此您可能需要'@ 1315806480'来代替'2011-9-12 ...'。 – salathe

+0

大声笑,我认为输入将以某种方式类似于ISO日期时间格式 – Jeffrey04

+0

我想你没有看过这个问题/评论。 – salathe

-1
<?php 
$time = strtotime(date('Y-m-d', *timestamp*)); 
?> 

剪辑过的还不错:

日期()功能把你的时间戳记,并表示它在人类可读只有年份,月份和日期的字符串(即“2014-07-25”)并省略小时,分钟和秒。

然后strtotime()函数将人类可读的字符串转换回您的时间戳,有效地使当天的时间在00:00。

+1

请描述它.. – Shivaay

相关问题