如何获取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的库来复制