从 Unix 时间戳代码中仅提取小时和分钟。
Extracting only the hours and minutes from a Unix Timestamp code.
我正在使用 php 并希望转换从 xml 文件中删除的时间。 XML中的时间是9:45的<startTime>0945</startTime>
和1:30的<startTime>1330</startTime>
。
我正在使用 strtotime(xml_time)
获取 unix 时间戳。但现在我只需要提取时间本身。我不需要将它与当前时间进行比较,不需要包含任何日期信息,也不关心时区。任何人都可以帮助我使用哪个功能(如果不同)或如何修改 strtotime()
来完成这个?
谢谢!
您可以使用date提取您需要的时间参数:
echo $time = date("H:i:s",strtotime($xml_time));
要将 1330
转换为 13:30
,您可以使用任何字符串操作函数,例如:
$input = '1330';
var_dump(mb_substr($input, 0, 2) . ':' . mb_substr($input, 2, 2));
如果您向 strtotime()
提供不完整的日期,它将使用当前日期的位和使用默认时区来填补空白。这将导致随机意外结果,具体取决于脚本运行的时间:
var_dump( date('H:i:s', strtotime('0230')) );
string(8) "02:30:00"
var_dump( date('H:i:s', strtotime('0230', mktime(1, 30, 50, 3, 26, 2017))) );
string(8) "03:30:00"
我正在使用 php 并希望转换从 xml 文件中删除的时间。 XML中的时间是9:45的<startTime>0945</startTime>
和1:30的<startTime>1330</startTime>
。
我正在使用 strtotime(xml_time)
获取 unix 时间戳。但现在我只需要提取时间本身。我不需要将它与当前时间进行比较,不需要包含任何日期信息,也不关心时区。任何人都可以帮助我使用哪个功能(如果不同)或如何修改 strtotime()
来完成这个?
谢谢!
您可以使用date提取您需要的时间参数:
echo $time = date("H:i:s",strtotime($xml_time));
要将 1330
转换为 13:30
,您可以使用任何字符串操作函数,例如:
$input = '1330';
var_dump(mb_substr($input, 0, 2) . ':' . mb_substr($input, 2, 2));
如果您向 strtotime()
提供不完整的日期,它将使用当前日期的位和使用默认时区来填补空白。这将导致随机意外结果,具体取决于脚本运行的时间:
var_dump( date('H:i:s', strtotime('0230')) );
string(8) "02:30:00"
var_dump( date('H:i:s', strtotime('0230', mktime(1, 30, 50, 3, 26, 2017))) );
string(8) "03:30:00"