strtotime PHP,显示日期/时间

4
我有一个XML文件,其中包含一个“Time”属性。我将这个XML调用到我的PHP中,并将其赋值给变量$game_time。
属性的一个示例值是“10:30 PM”...
由于它来自XML,所以将“10:30 PM”读取为字符串。
现在我的问题是,如何将此字符串转换为实际的时间戳?
我认为我需要使用strtotime,但无法正确使用语法...
我希望将此XML时间转换为时间戳,因为最终我将比较此时间与服务器时间并发出条件输出...
谢谢,John

没有任何人的支持?没有头绪?没有帮助? - John Stamos
2
你需要更有耐心一些,这里并不是每个问题都能在一分钟内得到回答。 - Gazler
你的意思是 strtotime($game_time) 没有给出正确的输出吗? - Ibu
当$game_time被设置为“8:30 PM”时,strtotime($game_time)输出1314232200...现在我该如何将该输出转换为类似于“10:30”的时间戳...基本上,我正在尝试将一个字符串(实际上是时间)转换为数据类型(时间),以便我可以将其与服务器的时间进行比较。 - John Stamos
2个回答

7

你可以使用:

date_default_timezone_set('America/Los_Angeles');

$xmldata = '10:30 PM';
echo strtotime($xmldata);
echo date('Y-m-d H:i:s', strtotime($xmldata));

这将输出:

1314250200

2011-08-24 22:30:00

如果您没有指定日期,将使用当前日期。


现在我该如何将输出转换为类似于“10:30”的时间戳呢?基本上,我正在尝试将一个字符串(实际上是一个时间)转换为一种数据类型(时间),以便可以将其与服务器的时间进行比较。 - John Stamos
作为提醒,如果您使用的是 PHP 5.1.0 或更早版本,则 strtotime 将返回 -1,否则它将返回 FALSE。因此,您可以始终在脚本中添加验证以确保您拥有有效的时间。 - Book Of Zeus

4
你可以使用 strtotime 函数。
<?
date_default_timezone_set('UTC');
$time_stamp = strtotime("10:00 AM"); //1314180000
echo date("F j, Y, g:i a", $time_stamp); //August 24, 2011, 10:00 am
?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接