Javascript将IETF日期转换为ISO8601格式

Javascript将IETF日期转换为ISO8601格式,javascript,datetime,date,data-conversion,Javascript,Datetime,Date,Data Conversion,我正在使用这个很棒的jQuery日历插件 单击日期的选项之一是回调函数,用于返回单击的日期 我相信它只会以IETF格式返回日期-Wed,2009年10月18日美国东部时间13:00:00 然而,我需要它在ISO861格式后的数据。我似乎在谷歌上找不到任何东西。我正在尝试用Javascript转换它。如果没有,则可以在Java后端进行转换。感谢以下人员的帮助: date保存当前日期的日期对象 我的 我猜您看到的IETF格式只是Date对象的默认字符串化。具有getYear()、getMonth

我正在使用这个很棒的jQuery日历插件

单击日期的选项之一是回调函数,用于返回单击的日期

我相信它只会以IETF格式返回日期-Wed,2009年10月18日美国东部时间13:00:00

然而,我需要它在ISO861格式后的数据。我似乎在谷歌上找不到任何东西。我正在尝试用Javascript转换它。如果没有,则可以在Java后端进行转换。感谢以下人员的帮助

date
保存当前日期的日期对象

我的

我猜您看到的IETF格式只是
Date
对象的默认字符串化。具有
getYear()
getMonth()
getDate()
方法,因此,如果小心使用零填充,您可以轻松生成ISO-8601日期字符串。

来自:

date
保存当前日期的日期对象

我的


我猜您看到的IETF格式只是
Date
对象的默认字符串化。具有
getYear()
getMonth()
getDate()
方法,因此,如果小心零填充,您可以轻松生成ISO-8601日期字符串。

因为dayClick已经为您提供了一个Javascript日期对象,您可以使用

将其格式化为8601格式的日期字符串,因为dayClick已经为您提供了一个Javascript日期对象,所以您可以使用

将其格式化为8601格式的日期字符串,它返回一个常规的Javascript日期对象。您可以使用fullcalendar
formatDate
实用程序功能,如下所示:

$.fullCalendar.formatDate(date, 'u');

它返回一个常规javascript日期对象。您可以使用fullcalendar
formatDate
实用程序功能,如下所示:

$.fullCalendar.formatDate(date, 'u');

您可以在日期对象上使用formatDate函数Allen dayClick

function getGMTOffset(localDate) {
    var positive = (localDate.getTimezoneOffset() > 0);
    var aoff = Math.abs(localDate.getTimezoneOffset());
    var hours = Math.floor(aoff / 60);
    var mins = aoff % 60;
    var offsetTz = padzero_(hours) + ':' + padzero_(mins);
    // getTimezoneOffset() method returns difference between (GMT) and local time, in minutes.
    // example, If your time zone is GMT+2, -120 will be returned.
    // This is why we are inverting sign
    if (!positive) {
      return '+' + offsetTz;
    }
    return '-' + offsetTz;
}

function pad2zeros(n) {
  if (n < 100) {
      n = '0' + n;
  }
  if (n < 10) {
      n = '0' + n;
  }
  return n;
}
function padzero(n) {
    return n < 10 ? '0' + n : n.toString();
}

function formatDate(date)  {
  if (date) {
    return (date.getFullYear()) +
           '-' + padzero((date.getMonth() + 1)) +
           '-' + padzero(date.getDate()) +
           'T' + padzero(date.getHours()) +
           ':' + padzero(date.getMinutes()) +
           ':' + padzero(date.getSeconds()) +
           '.' + pad2zeros(date.getMilliseconds()) +
           getGMTOffset(date);
  }
  return '';
}
函数getGMTOffset(localDate){ var正值=(localDate.getTimezoneOffset()>0); var aoff=Math.abs(localDate.getTimezoneOffset()); var小时=数学地板(aoff/60); var mins=aoff%60; var offsetTz=padzero_uuz(小时)+':'+padzero_uz(分钟); //getTimezoneOffset()方法返回(GMT)和本地时间之间的差,以分钟为单位。 //例如,如果您的时区是GMT+2,则将返回-120。 //这就是为什么我们要反转符号 如果(!正){ 返回'+'+offsetz; } 返回'-'+偏移量; } 函数pad2zeros(n){ 如果(n<100){ n='0'+n; } 如果(n<10){ n='0'+n; } 返回n; } 函数padzero(n){ 返回n<10?'0'+n:n.toString(); } 函数格式日期(日期){ 若有(日期){ 返回(date.getFullYear())+ “-”+padzero((date.getMonth()+1))+ “-”+padzero(date.getDate())+ 'T'+padzero(date.getHours())+ “:”+padzero(date.getMinutes())+ “:”+padzero(date.getSeconds())+ '.'+pad2zero(date.getmillizes())+ GETGMTOFSET(日期); } 返回“”; }
您可以在日期对象上使用formatDate函数Allen dayClick

function getGMTOffset(localDate) {
    var positive = (localDate.getTimezoneOffset() > 0);
    var aoff = Math.abs(localDate.getTimezoneOffset());
    var hours = Math.floor(aoff / 60);
    var mins = aoff % 60;
    var offsetTz = padzero_(hours) + ':' + padzero_(mins);
    // getTimezoneOffset() method returns difference between (GMT) and local time, in minutes.
    // example, If your time zone is GMT+2, -120 will be returned.
    // This is why we are inverting sign
    if (!positive) {
      return '+' + offsetTz;
    }
    return '-' + offsetTz;
}

function pad2zeros(n) {
  if (n < 100) {
      n = '0' + n;
  }
  if (n < 10) {
      n = '0' + n;
  }
  return n;
}
function padzero(n) {
    return n < 10 ? '0' + n : n.toString();
}

function formatDate(date)  {
  if (date) {
    return (date.getFullYear()) +
           '-' + padzero((date.getMonth() + 1)) +
           '-' + padzero(date.getDate()) +
           'T' + padzero(date.getHours()) +
           ':' + padzero(date.getMinutes()) +
           ':' + padzero(date.getSeconds()) +
           '.' + pad2zeros(date.getMilliseconds()) +
           getGMTOffset(date);
  }
  return '';
}
函数getGMTOffset(localDate){ var正值=(localDate.getTimezoneOffset()>0); var aoff=Math.abs(localDate.getTimezoneOffset()); var小时=数学地板(aoff/60); var mins=aoff%60; var offsetTz=padzero_uuz(小时)+':'+padzero_uz(分钟); //getTimezoneOffset()方法返回(GMT)和本地时间之间的差,以分钟为单位。 //例如,如果您的时区是GMT+2,则将返回-120。 //这就是为什么我们要反转符号 如果(!正){ 返回'+'+offsetz; } 返回'-'+偏移量; } 函数pad2zeros(n){ 如果(n<100){ n='0'+n; } 如果(n<10){ n='0'+n; } 返回n; } 函数padzero(n){ 返回n<10?'0'+n:n.toString(); } 函数格式日期(日期){ 若有(日期){ 返回(date.getFullYear())+ “-”+padzero((date.getMonth()+1))+ “-”+padzero(date.getDate())+ 'T'+padzero(date.getHours())+ “:”+padzero(date.getMinutes())+ “:”+padzero(date.getSeconds())+ '.'+pad2zero(date.getmillizes())+ GETGMTOFSET(日期); } 返回“”; }