【问题标题】:Explode String and convert it into time PHP分解字符串并将其转换为时间 PHP
【发布时间】:2014-04-24 02:57:29
【问题描述】:

我有一个字符串“4 月 28 日星期一,下午 6:00 - 晚上 11:00”。我想将其解析为单个变量,以便我可以对其进行格式化,然后将其转换为 UTC。另外,我只想要第一部分的时间。我想了一个办法,就是把它炸开……

$arrayString = explode(',', $string);  //split string my comma
$startTime = explode(' - ', $arrayString[2]); //split time by using -
$times = $startTime[0];  
$date = strtotime($times);
echo date('g:ia', $date);  //Getting time

我想输出 06:00 pm(这样我可以测试 $date 是否可以稍后将时间转换为 UTC)。然而我得到了凌晨 1:00。当我尝试为 Month 做同样的事情时,它给了我一月。

有什么建议吗?谢谢!

【问题讨论】:

  • 首先,你的刺痛没有逗号
  • 哎呀。固定的。原来的字符串是“Monday, April 28, 6:00pm - 11:00pm”
  • 你可以保持星期一的 strtotime 很聪明,我按预期得到下午 6 点:codepad.viper-7.com/4FFn7x

标签: php arrays string explode


【解决方案1】:

您正在创建 $date 仅参考字符串的时间部分,因此它将默认为一月。

如果你将 $arraystring[1] 与你的 $times 变量连接起来,那么你可能会到达那里。

建议您查看结果变量的 DateTime 类,因为它会使时区转换更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2019-09-28
    • 2018-03-29
    相关资源
    最近更新 更多