如何获取javascript日期对象中给定的实际时间格式
我给出的时间格式如下两种格式:如何获取javascript日期对象中给定的实际时间格式,javascript,date,Javascript,Date,我给出的时间格式如下两种格式: new Date("2015-05-05T08:00:00-0400") 在处理上述两个代码时,我得到 2015年5月5日星期二17:30:00 GMT+0530(印度标准时间) 我无法获得我给出的格式。 我希望在处理时获得该格式(2015-05-05T08:00:00-0400) 请帮我…试试这个,只需将一些参数传递给这个函数,就可以得到每个国家的当地标准时区 function getLocalTimeFromGMT(sTime){ var dte = n
new Date("2015-05-05T08:00:00-0400")
在处理上述两个代码时,我得到
2015年5月5日星期二17:30:00 GMT+0530(印度标准时间)
我无法获得我给出的格式。
我希望在处理时获得该格式(2015-05-05T08:00:00-0400)
请帮我…试试这个,只需将一些参数传递给这个函数,就可以得到每个国家的当地标准时区
function getLocalTimeFromGMT(sTime){
var dte = new Date(sTime);
dte.setTime(dte.getTime() - dte.getTimezoneOffset()*60*1000);
dte.toLocaleString();
var m_names = new Array("January", "February", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December");
var curr_date = dte.getDate();
var curr_month = dte.getMonth();
var curr_year = dte.getFullYear();
var hour = dte.getHours();
var min = dte.getMinutes();
var dn = 'am';
if(hour==0){ hour = 12; }
if(hour>=12){
hour = hour-12;
dn = 'pm';
}
return m_names[curr_month] + " " + curr_date +" "+hour+":"+min+" "+dn ;
}
你可以把日期分开,自己计算,以小时为单位计算出时区偏移量 函数getCustomIsoFormat(日期){ //日期 var y=date.getFullYear(); var m=('00'+(date.getMonth()+1)).substr(-2); 变量d=('00'+date.getDate()).substr(-2); //时间 var h=('00'+date.getHours()).substr(-2); 变量i=('00'+date.getMinutes()).substr(-2); var s=('00'+date.getSeconds()).substr(-2); //抵消 var tz=date.getTimezoneOffset(); 变量符号=tz>0?'-':'+'; var tzAbs=数学绝对值(tz); 变量tzH=('00'+~(tzAbs/60)).substr(-2); var tzM=('00'+~(tzAbs%60)).substr(-2); var off=符号+tzH+tzM; 返回y+'-'+m+'-'+d+'T'+h+':'+i+':'+s+off; } //输入:2015年5月5日星期二17:30:00 GMT+0530(印度标准时间) var输入日期=新日期(“2015-05-05T08:00:00-0400”); //预计产量:2015-05-05T08:00:00-0400
document.body.innerHTML=getCustomIsoFormat(inputDate)代码>如其他地方所述,javascript日期对象只有一个标准化输出,它位于ES5的toISOString中,但支持的唯一时区是UTC(Z) 下面是在本地时区中返回ISO 8601格式字符串的函数
/* Return a string in ISO 8601 format with current timezone offset
**
** e.g. 2014-10-02T23:31:03+0800
**
** Default is the current date.
**
** @param {Date} d - Date object to create string from
** @returns {string} - ISO 8601 format string with local timezone offset
*/
function toLocalISOString(d) {
d = d || new Date();
// Pad to two digits with leading zeros
function pad(n){
return (n<10?'0':'') + n;
}
// Pad to three digits with leading zeros
function padd(n){
return (n<100? '0' : '') + pad(n);
}
// Convert offset in mintues to +/-HHMM
// Note change of sign
// e.g. -600 => +1000, +330 => -0530
function minsToHHMM(n){
var sign = n<0? '-' : '+';
n = Math.abs(n);
var hh = pad(n/60 |0);
var mm = pad(n%60);
return sign + hh + mm;
}
var offset = minsToHHMM(d.getTimezoneOffset() * -1);
return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate()) +
'T' + pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds()) +
'.' + padd(d.getMilliseconds()) + offset;
}
/*返回具有当前时区偏移量的ISO 8601格式的字符串
**
**例如,2014-10-02T23:31:03+0800
**
**默认值为当前日期。
**
**@param{Date}d-从中创建字符串的日期对象
**@returns{string}-ISO 8601格式字符串,带本地时区偏移量
*/
用于局部定位的函数(d){
d=d | |新日期();
//用前导零填充到两位数字
功能板(n){
返回(n-0530
函数minsToHHMM(n){
var sign=您将不得不使用自己的格式函数,或者使用类似momentjs的库来复制