如何在JavaScript中将字符串转换为日期对象?

var st = "date in some format"
var dt = new Date();

var dt_st = // st in Date format, same as dt.

推荐答案

字符串解析的最佳字符串格式是日期ISO格式和JavaScript日期对象构造函数.

ISO格式示例:YYYY-MM-DDYYYY-MM-DDTHH:MM:SS.

But wait!仅仅使用"ISO格式"本身并不能可靠地工作.字符串有时解析为UTC,有时解析为localtime(基于浏览器供应商和版本).最佳实践应该始终是将日期存储为UTC,并以UTC进行计算.

要将日期解析为UTC,请追加Z-例如:new Date('2011-04-11T10:20:30Z').

要以UTC显示日期,请使用.toUTCString()

更多关于MDN | Datethis answer的信息.

对于旧的Internet Explorer兼容性(9以下的IE版本不支持日期构造函数中的ISO格式),您应该将日期时间字符串表示拆分为其部分,然后可以使用使用日期时间部分的构造函数,例如:new Date('2011', '04' - 1, '11', '11', '51', '00').请注意,月份的数字必须减少1.


Alternate method - use an appropriate library:

您还可以利用允许解析具有指定时区的日期的库Moment.js.

Javascript相关问答推荐

不渲染具有HTML参数的React元素

在JavaScript中声明自定义内置元素不起作用

Mongoose post hook在使用await保存时不返回Postman响应

WebGL 2.0无符号整数输入变量

如何避免页面第一次加载时由于CSS样式通过JavaScript更改而出现闪烁

覆盖TypeScrip中的Lit-Element子类的属性类型

如何将数据块添加到d3力有向图中?

未加载css colored颜色 ,无法将div设置为可见和不可见

如何将zoom 变换应用到我的d3力有向图?

无法避免UV:flat的插值:非法使用保留字"

触发异步函数后不能显示数据

我想将Sitecore搜索面过滤器从多个转换为单个

如何使用<;Link>;执行与JS Reaction中的";window.Location=/GameOverDied;";类似的操作?

在验证和提交表单后使用useNavigate()进行react 重定向,使用带有加载器和操作的路由

我正在试着做一个TicTacToe Ai来和我玩.但是,我试着在第一个方块被点击时出现一个X,然后在第二个方块之后出现一个O

每隔3个项目交替显示,然后每1个项目交替显示

为什么我不能使用其同级元素调用和更新子元素?

FindByIdAndUpdate在嵌套对象中创建_id

如果我的列有条件,我如何呈现图标?

错误400:当我试图在React中使用put方法时,该字段是必需的