【问题标题】:convert "DD/MM/YYYY h:m" to timestamp将“DD/MM/YYYY h:m”转换为时间戳
【发布时间】:2015-12-21 12:15:01
【问题描述】:

我需要使用 php 将 DD/MM/YYYY h:m 例如 21/12/2015 17:14 这个日期转换为时间戳格式并将其存储在 mysql 中。

我尝试了strtotime() 和其他一些功能,但它不起作用。谁可以帮我这个事。我正在使用 datepicker 生成日期时间的值

【问题讨论】:

  • strtotime() 识别使用/ 分隔符的格式作为美国格式,- 作为英国/欧洲格式,如documented
  • 改用DateTime对象,也可以使用createFromFormat();您可以使用format()U 格式字符串来获取unix 时间戳
  • $timestamp = DateTime::createFromFormat('d/m/Y', $myOriginalDateString)->format('U')

标签: php datetime timestamp


【解决方案1】:

使用以下代码将“DD/MM/YYYY h:m”转换为时间戳

$dateString = "21/12/2015 17:14";
$timestamp = strtotime(str_replace("/", "-", $dateString));

【讨论】:

  • 我们也可以使用 DateTime 但它是解决这个问题的方法之一
  • strtotime('d/m/Y H:i','21-12-2015 17:14');
  • 不,亲爱的,它会报错“遇到格式不正确的数值”请尝试
  • 你做的傻事是对的,其实想分享这个: echo date('d/m/Y H:i',"21-12-2015 17:14:00");你的答案是 100% 正确的,值得点赞
【解决方案2】:

你可以使用 DateTime 类:

$dateStr = '21/12/2015 17:14';
echo $timestamp = \DateTime::createFromFormat('d/m/Y H:i', $dateStr)->getTimestamp();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 2014-06-11
    相关资源
    最近更新 更多