在PHP中使用正则表达式将日期/时间字符串更改为时间戳
我正在努力使用正则表达式将日期/时间字符串更改为时间戳。字符串的格式为在PHP中使用正则表达式将日期/时间字符串更改为时间戳,php,regex,timestamp,Php,Regex,Timestamp,我正在努力使用正则表达式将日期/时间字符串更改为时间戳。字符串的格式为'd/m/Y\a\t g:ia'(例如2012年6月15日下午6:00) 我需要这样做,以确保日期不在过去 我可以使用下面的代码来完成日期部分(只需'd/m/Y'),但其余的部分我都在苦苦挣扎。谢谢 $expires = preg_replace("/(\d{2})\/(\d{2})\/(\d{4})/", "\\3-\\2-\\1" , $poll['poll_expired']); 谢谢。你为什么不能这样做呢 $date
'd/m/Y\a\t g:ia'
(例如2012年6月15日下午6:00)
我需要这样做,以确保日期不在过去
我可以使用下面的代码来完成日期部分(只需'd/m/Y'
),但其余的部分我都在苦苦挣扎。谢谢
$expires = preg_replace("/(\d{2})\/(\d{2})\/(\d{4})/", "\\3-\\2-\\1" , $poll['poll_expired']);
谢谢。你为什么不能这样做呢
$date = DateTime::createFromFormat('d/m/Y \a\t g:ia', ' 15/06/2012 at 6:00pm');
$expires = $date->format('U');
(没有经过测试,但你已经知道了。)为什么你不能做这样的事情呢
$date = DateTime::createFromFormat('d/m/Y \a\t g:ia', ' 15/06/2012 at 6:00pm');
$expires = $date->format('U');
(未经测试,但您已经知道了。)为什么要使用正则表达式?为什么不构造一个DateTime对象并使用
getTimestamp
?将来也可以,但我不能使用我不知道存在的东西。我一直认为正则表达式是解决这个问题的方法。谢谢。你为什么用正则表达式?为什么不构造一个DateTime对象并使用getTimestamp
?将来也可以,但我不能使用我不知道存在的东西。我一直认为正则表达式是解决这个问题的方法。谢谢。他可以而且应该:)不知道,为什么有些人试图用regex解决所有问题…+1正是我的评论所暗示的。。。(注意)非常感谢@Josh-我不知道这个方法,但它比regex简单得多。除了用保存日期的变量替换日期之外,你的例子工作得很好。他可以而且应该:)不知道,为什么有些人试图用regex解决所有问题…+1正是我的评论所建议的。。。(注意)非常感谢@Josh-我不知道这个方法,但它比regex简单得多。除了用保存日期的变量替换日期之外,您的示例非常有效。