首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将文本转换为日期对象

将文本转换为日期对象
EN

Stack Overflow用户
提问于 2016-12-03 19:58:03
回答 1查看 51关注 0票数 0

我想要的是能够轻松地将字符串"5分钟前“或字符串"10小时前”转换为javascript date对象。

Date.parse需要一个日期字符串,我认为该函数不符合我的要求。

在PHP中,我可以这样做:

代码

代码语言:javascript
复制
$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);

输出

代码语言:javascript
复制
Current time: 2016-12-03 20:56:33
Altered time: 2016-12-03 21:01:33

如何将字符串"5分钟前“或"10小时前”转换为javascript date对象?

EN

回答 1

Stack Overflow用户

发布于 2016-12-03 20:04:10

使用regex可以识别"X单位以前“形式中的某些内容,将单位转换为毫秒,乘以X(在将X从字符串转换为数字之后),并在将当前时间转换为字符串之前从当前时间减去该毫秒数。

代码语言:javascript
复制
then = new Date((new Date())-60000)

会让then在60秒前

如果s是字符串"5分钟前“,那么

代码语言:javascript
复制
var m = s.match(/(\d+) ((minutes)|(seconds)|(hours)) ago/)

应该将m作为一个数组,使m[1]是一个由一个或多个数字组成的字符串,在这种情况下,"5"m[2]将是字符串“分钟”、“秒”或“小时”之一。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40951903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档