javascript - 如何在我的情况下设置日期格式

标签 javascript date

我正在尝试将 http 请求数据转换为我需要的正确日期格式。

我来自一家公司的 http 请求数据返回如下数据

2015-03-11, 2015-05-13, 2015-11-21...etc.

我的代码。

var day1 = '2015-03-11'; //return from http request
var day2 = '2015-05-13'; //return from http request

var date = new Date(day1) -> 
//time will be off 1 day for some reason 
//because javascript can't recognize 03 and it is a string.`

我需要能够转换2015-03-11March, 11, 2015 。有没有正确的方法来解决这个问题?

非常感谢!

最佳答案

问题源于 JavaScript Date 实例包含时间部分的事实,以及像您这样的 ISO 日期被解释为 UTC 的相关事实。如果您位于西欧西部,那么您的计算机所在的时区使得 UTC 2015 年 3 月 11 日午夜成为您所在时区 2015 年 3 月 10 日的某个时间。

有几种方法可以解决这个问题;这是一个:

var utcdate = new Date("2015-03-11");
var local = new Date(utcdate.getUTCFullYear(), utcdate.getUTCMonth(), utcdate.getUTCDate());

这将使“本地”日期与指示的原始日期字符串相同。

正如链接的重复问题的答案中提到的,您还可以在实例化日期之前操作日期字符串。 最好的事情是确保您的服务器生成格式正确的日期。

关于javascript - 如何在我的情况下设置日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29286834/

相关文章:

python - 如何在 Python 中将日期转换为季度?

javascript - vis.js 中的多节点选择

javascript - jquery查找单元格值,如果存在则更改单元格,如果不存在则添加新行

javascript - 如何使用 JavaScript 在单击时更改按钮文本?

mysql - 使用 Slick/Scala 将日期和时间存储到 MySQL 中

javascript - 生成特定 JavaScript 日期和标识符(月、日、年、周)的开始和结束范围?

Python 识别(转换)文本到最新

javascript - jQuery - 如何检测页面何时完成加载?

javascript - 更改日期范围选择器中的月份位置

vb.Net时间跨度计算