更改日期格式,以客户的日期格式

问题描述:

关于Ajax使用JavaScript调用我得到的日期格式更改日期格式,以客户的日期格式

Mon Feb 13 2017 00:00:00 GMT+0530(India Standard Time). 

我想根据使用JavaScript客户端系统的日期格式更改日期格式。

任何人可以帮助我这个问题...

+0

请分享你尝试过什么 –

+0

是什么日期您要转换的格式 – shv22

+0

查看javascript的* native * D.吃对象:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date它有解析和打印日期的方法 –

编辑:

您可以使用.toLocaleDateString()基于客户端的计算机上格式化日期。

var date=new Date(); 
 
    alert(date.toLocaleDateString());


你真的应该使用moment.js

您可以使用moment.locale();初始化区域设置,然后相应地对其进行格式化。 按照链接,文档

+0

好的..我会检查 – Soni

+0

。toLocaleDateString()给我的格式为2/13/2017,而它必须是13-Feb-17格式 – Soni

+0

检查系统日期的显示方式,如果它与上面的代码返回值相同,则尝试将系统区域设置从'地区和地区'在Windows中,然后再试 –

简单...下面的代码应该做的工作:

var date = new Date(); 
 
var dateString = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear(); 
 

 
console.log(dateString);

希望这有助于:)

+0

不,这不会转换为系统日期时间格式.. – Soni

+0

@Soni你想将客户系统日期格式转换为你的系统日期格式吗? – m87

+0

没有它的另一种方式..我有日期我想将它更改为客户端系统日期格式.. – Soni

使用dateObj.getTimezoneOffset()方法来获得时区偏移,然后根据您收到的结果进行加/减,如 MDN所述,已经回答了stackoverflow question

function convertUTCDateToLocalDate(date) { 
var newDate = new Date(date.getTime()+date.getTimezoneOffset()*60*1000); 

var offset = date.getTimezoneOffset()/60; 
var hours = date.getHours(); 

newDate.setHours(hours - offset); 

return newDate; 
} 

用法:

var date = convertUTCDateToLocalDate(new Date(date_string_you_received)); 

显示基于本地时间

date.toLocaleString(); 

通过@Adorjan Princz作为回答时间

+0

我试过使用这个功能,我得到的格式为格式为2/13/2017,而它必须是13-Feb-17格式 – Soni

+0

所有你必须使用[momentjs](http:// momentjs (日期).format('Do MMMM YY');' 检查这[[小提琴]](http://jsfiddle.net/jsjain007/h38h0Ljf/2)/你的情况 ' /)希望这也可以解决你的日期格式问题 – warl0ck