【问题标题】:Split Birth Date拆分出生日期
【发布时间】:2014-07-21 04:35:05
【问题描述】:

我有一些以 mm/dd/yyyy 格式存储的出生日期。例如:05/20/1987

我有一个用于编辑出生日期的表单,我想将月、日和年分开,这样我就可以在一些选择的下拉菜单中分别回显它们。

<?php $birthdate = "05/20/1987"; ?>

<select name="dob_month">
<option value="<?php echo $month; ?>"></option>
</select>

<select name="dob_day">
<option value="<?php echo $day; ?>"></option>
</select>

<select name="dob_year">
<option value="<?php echo $year; ?>"></option>
</select>

所以有了上面给出的生日,它看起来像这样:

<select name="dob_month">
<option value="05"></option>
</select>

<select name="dob_day">
<option value="20"></option>
</select>

<select name="dob_year">
<option value="1987"></option>
</select>

正则表达式是正确的解决方案吗?

【问题讨论】:

  • 那么问题出在哪里?根据/拆分它
  • 不,不是正则表达式。
  • 我会使用DateTime 类来获取日期,然后您可以轻松地对其进行格式化。

标签: php regex


【解决方案1】:

试试看:

list($month, $day, $year) = explode('/', $birthdate);

【讨论】:

  • 谢谢。工作得很好。
【解决方案2】:

list($month, $day, $year) = explode('/', $birthdate);

【讨论】:

    【解决方案3】:

    如果你的格式是固定的,不需要验证日期,可以直接使用substr

    echo substr($birthdate,0,2); // month
    echo substr($birthdate,3,2); // day
    echo substr($birthdate,6,4); // year
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-15
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多