【问题标题】:Convert month,day and year to Unix timestamp [duplicate]将月、日和年转换为 Unix 时间戳 [重复]
【发布时间】:2015-10-09 20:11:14
【问题描述】:

我正在尝试将月、日和年转换为 Unix 时间戳。

<?php
  day = '30' ;
  $month = 'November' ;
  $year = '2016' ;
  $t = date('H:i');
  $quoteDate = strtotime("$year-$month-$day $t");
?>

此代码给出正确的年份,但错误的日期和月份。

【问题讨论】:

  • 你确定你的帖子值是正确的吗?发布样本值,以便我们对其进行测试。
  • 是的。我检查过了。请检查已编辑的问题。
  • mktime 是一种更精确的方法来处理这个问题,不是吗? php.net/manual/en/function.mktime.php
  • 这不是 strtotime 解析的有效日期格式
  • 我从这个页面得到了那个代码stackoverflow.com/questions/6208484/…

标签: php date time


【解决方案1】:

我认为你应该改用DateTime 试试这个,它可以被按摩以处理那种日期字符串

$day = '30' ;
  $month = 'November' ;
  $year = '2016' ;
  $t = date('H:i');
  $quoteDate = DateTime::createFromFormat("Y-F-d H:i", "$year-$month-$day $t");
echo $quoteDate->format('Y-m-d H:i:s');

你可以在这里看到一个演示https://3v4l.org/adJ5P

【讨论】:

  • OP 想要时间戳,$quoteDate-&gt;getTimestamp();
  • @Federico 一旦对象被创建,他就可以使用它来获得他想要的任何格式
  • @Machavity 如何将其转换为 Unix 时间戳?
  • @ShyamMohan 使用format,它支持与date 相同的格式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多