我试图将http请求数据转换为我需要的正确日期格式.
我公司的http请求数据返回的数据如
2015-03-11, 2015-05-13, 2015-11-21...etc.
Run Code Online (Sandbox Code Playgroud)
我的代码.
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.`
Run Code Online (Sandbox Code Playgroud)
我需要能够转换2015-03-11为March, 11, 2015.有没有正确的方法来解决这个问题?
非常感谢!
问题源于JavaScript Date实例包含一个时间部分的事实,以及与您的ISO日期相似的相关事实被解释为UTC.如果您位于西欧以西,那么您的计算机所处的时区将使2015年3月11日的午夜时间段在2015年3月10日的某个时间区域内.
有几种方法可以解决这个问题; 这是一个:
var utcdate = new Date("2015-03-11");
var local = new Date(utcdate.getUTCFullYear(), utcdate.getUTCMonth(), utcdate.getUTCDate());
Run Code Online (Sandbox Code Playgroud)
这将使"本地"日期与指示的原始日期字符串相同.
如链接重复问题的答案中所述,您还可以在实例化日期之前操纵日期字符串.的最好的事情是要确保你的服务器生产设备精良,日期格式.
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |