我想用javascript将日期格式化为ISO YYYY-MM-DDThh:mm:ss.sTZD格式。
我可以将当前日期字符串转换为yyyy-MM-dd'T'HH:mm:ss.SSSZ格式。例如2016-01-11T02:40:33.117Z。但我想变得像2016-01-11T02:40:33.117+1100那样。
这在javascript中是可能的吗?
发布于 2016-01-15 11:08:14
尝试以下操作。
var date = new Date(Date.now());
date.setTime(date.getTime() - (date.getTimezoneOffset() * 60000));
var output = date.toISOString().substring(0, date.toISOString().length - 1) + ((date.getTimezoneOffset() / 60) < 0 ? "-" : "+") + ((Math.abs(date.getTimezoneOffset() / 60) < 10) ?  ("0" + Math.abs(date.getTimezoneOffset() / 60)) : test) + "00";output变量应该接近您要查找的内容。(+和-可能颠倒)
备注:可能有更好的解决方案;如果我找到了,我会把它贴出来。
发布于 2017-11-15 18:43:05
function getCurrentDateFormated() {
  var date = new Date();
  date.setTime(date.getTime() - (date.getTimezoneOffset() * 60000));
  var timeZoneHours = date.getTimezoneOffset() / 60;
  var finalHours = Math.abs(timeZoneHours) < 10 ?
    timeZoneHours < 0 ? '-0' + timeZoneHours.toString().substring(1)
    : '+0' + timeZoneHours.toString().substring(1)
    : timeZoneHours;
  var timeZoneMin = ((timeZoneHours - Math.floor(timeZoneHours)) * 60) < 10 ?
    '0' + (timeZoneHours - Math.floor(timeZoneHours)) * 60 : (timeZoneHours - Math.floor(timeZoneHours)) * 60;
  var timeZone = finalHours + timeZoneMin;
  return date.toISOString().substring(0, 20) + date.getMilliseconds() + timeZone;
}https://stackoverflow.com/questions/34803612
复制相似问题