【问题标题】:get two date variable from range of dates [closed]从日期范围中获取两个日期变量[关闭]
【发布时间】:2013-08-19 08:50:06
【问题描述】:

我有这些范围日期(m/d/yyyy-m/d/yyyy)

8/12/2013-8/19/2013

然后我想从该日期获取两个具有不同格式(yyyy-mm-dd)的日期变量。

$date1 = 2013-8-12
$date2 = 2013-8-19

请帮我摆脱我的问题。谢谢

【问题讨论】:

  • 使用explodeDateTime::createFromFormat
  • 快速 - 每个人都发布相同的答案

标签: php date-range


【解决方案1】:

您可以使用explode 来完成。

$string = explode('-','8/12/2013-8/19/2013');

$date1 = explode('/',$string[0]);
$date2 = explode('/',$string[1]);

$finalDate1 = $date1[2].'-'.$date1[0].'-'.$date1[1];
$finalDate2 = $date2[2].'-'.$date2[0].'-'.$date2[1];

输出:

2013-8-12
2013-8-19

【讨论】:

    【解决方案2】:
       $var = explode('-','8/12/2013-8/19/2013');
       $date1 = date('Y-m-d',strtotime($var[0]));
       $date2 = date('Y-m-d',strtotime($var[1]));
    

    【讨论】:

    • 简洁而简短。竖起大拇指!
    【解决方案3】:

    使用explodedate 函数

    $date_range = "8/12/2013-8/19/2013";
    $dates = explode("-", $date_range);
    
    echo $date1 = date('Y-m-d', strtotime($dates[0]));
    echo $date2 = date('Y-m-d', strtotime($dates[1]));
    

    输出

    2013-08-12
    2013-08-19
    

    【讨论】:

      【解决方案4】:
      $daterange = "8/12/2013-8/19/2013";
      $dates = explode("-", $daterange );
      
      $date1=  date("Y-m-d", strtotime($dates[0]));
      $date2=  date("Y-m-d", strtotime($dates[1]));
      

      输出

      $date1 = 2013-8-12
      $date2 = 2013-8-19
      

      【讨论】:

        【解决方案5】:
        $a = '8/12/2013-8/19/2013';//the given string
        $a = explode('-', $a);// split the string by '-' and store it in array
        $date1 = date('Y-m-d',strtotime($a[0]));// returns 2013-08-12
        $date2 = date('Y-m-d',strtotime($a[1]));// returns 2013-08-19
        

        【讨论】:

          【解决方案6】:

          首先你需要 explode 日期字符串 "8/12/2013-8/19/2013" ,这将返回包含两个日期的数组。

          $default = '8/12/2013-8/19/2013';
          $date = explode('-',$default);
          
          echo date('Y-m-d',strtotime($date[0]));
          echo date('Y-m-d',strtotime($date[1]));
          

          输出

          2013-08-12
          2013-08-19
          

          【讨论】:

            【解决方案7】:

            试试这个:

            <?php
            $string = explode('-','8/12/2013-8/19/2013');    
            $date1 = DateTime::createFromFormat('m/d/Y', $string[0]);
            $date2 = DateTime::createFromFormat('m/d/Y', $string[1]);
            
            //echo the results :
            echo $date1->format('Y-m-d');
            echo "<br/>".$date2->format('Y-m-d');
            ?>
            

            输出:

            2013-08-12
            2013-08-19
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-04-23
              • 1970-01-01
              • 1970-01-01
              • 2021-10-25
              相关资源
              最近更新 更多