【问题标题】:PHP: How to split a datetime string into two new variables?PHP:如何将日期时间字符串拆分为两个新变量?
【发布时间】:2020-10-13 09:30:15
【问题描述】:

我有以下数组:

object(stdClass)#3137 (10) {
    ["start"]=>
    string(25) "2019-10-18T18:02:00+02:00"
    ["end"]=>
    string(25) "2019-10-18T21:02:00+02:00"
}

如何将“开始”和“结束”分成两个变量,第一个包含日期(作为日期,而不是字符串),第二个包含时间(作为时间而不是字符串)并插入同一个数组?

感谢任何帮助。

【问题讨论】:

标签: php string datetime


【解决方案1】:

你可以像这样将 date() 函数与 strtotime() 一起使用

$oldArray = object(stdClass)#3137 (10) {
    ["start"]=>
    string(25) "2019-10-18T18:02:00+02:00"
    ["end"]=>
    string(25) "2019-10-18T21:02:00+02:00"
}

$newArray["startDate"] = date("Y-m-d", strtotime($oldArray["start"]);
$newArray["startTime"] = date("H-i-sO", strtotime($oldArray["start"]);

然后重复end

请参阅this link 了解更多日期和时间选项

【讨论】:

    【解决方案2】:
    $startEndObject = //your object with start and end...
    
    $array = [
      "start" => [
        "date" => $startEndObject->start,
        "time" => strtotime($startEndObject->start)
      ],
      "end" => [
        "date" => $startEndObject->end,
        "time" => strtotime($startEndObject->end)
      ],
    ]
    

    所以你基本上要做的是创建一个包含开始和结束的数组,但是你添加一个数组到开始和结束,其中包含日期作为字符串,时间作为时间戳。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-07
      • 2019-02-05
      • 2020-12-27
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      相关资源
      最近更新 更多