【问题标题】:Convert mm-dd-yy format to unix time stamp?将 mm-dd-yy 格式转换为 unix 时间戳?
【发布时间】:2014-06-18 22:45:19
【问题描述】:

我在 google 和 Stack Exchange 上花费了数小时。在我的一生中,我还没有找到一个可行的解决方案,我不知道为什么。

我只需要将 06-15-14 格式化并转换为 unix 时间戳。我已经尝试了各种各样的事情。 mktime、strptime、strto...通常没有吐出,否则我得到 12-31-69

我还需要获取单个数字日期 IE - 6-15-14 或 6-5-14

$chance = "come on 06-15-14";

if (preg_match("/[0-9]{1,2}\-[0-9]{1,2}\-[0-9][0-9]/", $chance, $matches)) {
echo "Match was found <br />";
echo $matches[0];


$a = strptime('$matches[0]', '%m-%d-%y');
echo $a;


}
else {
echo "nope";
}

【问题讨论】:

  • 您正在使用strptime。大概您已经阅读了文档,其中包含指向date_parse_from_format 的链接,并表示推荐。为什么不遵循该建议?这将花费不到几个小时的时间。
  • 您的示例运行良好

标签: php unix timestamp


【解决方案1】:

假设你的正则表达式是正确的,

$a = strptime('$matches[0]', '%m-%d-%y');

应该是

$a = strptime($matches[0], '%m-%d-%y');

没有引号

【讨论】:

    【解决方案2】:
     list($month, $day, $year) = split('-', $matches[0]);
     $timestamp = gmmktime(0, 0, 0, $month, $day, $year);
    

    这似乎解决了问题

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 2012-09-09
      • 2021-09-29
      • 2016-04-10
      • 2022-08-03
      • 2021-03-31
      • 2022-11-09
      • 2022-10-14
      • 1970-01-01
      相关资源
      最近更新 更多