我想要的是能够轻松地将字符串"5分钟前“或字符串"10小时前”转换为javascript date对象。
Date.parse需要一个日期字符串,我认为该函数不符合我的要求。
在PHP中,我可以这样做:
代码
$string = "5 minutes ago";
$now = date('Y-m-d H:i:s');
$d = strtotime($now . " + " . str_replace("ago","",$string));
echo "Current time: " . $now;
echo "<br>";
echo "Altered time: " . date('Y-m-d H:i:s',$d);输出
Current time: 2016-12-03 20:56:33
Altered time: 2016-12-03 21:01:33和
如何将字符串"5分钟前“或"10小时前”转换为javascript date对象?
发布于 2016-12-03 20:04:10
使用regex可以识别"X单位以前“形式中的某些内容,将单位转换为毫秒,乘以X(在将X从字符串转换为数字之后),并在将当前时间转换为字符串之前从当前时间减去该毫秒数。
then = new Date((new Date())-60000)会让then在60秒前
如果s是字符串"5分钟前“,那么
var m = s.match(/(\d+) ((minutes)|(seconds)|(hours)) ago/)应该将m作为一个数组,使m[1]是一个由一个或多个数字组成的字符串,在这种情况下,"5"和m[2]将是字符串“分钟”、“秒”或“小时”之一。
https://stackoverflow.com/questions/40951903
复制相似问题