日期转换CST在Angular2中



我从json API中获得了像" dob"的时间:10:20:05(mm/dd/yyyy HH:MM:SSS(。需要帮助

您可以通过将值解析为日期对象开始,然后格式化输出。

第一个数字部分似乎是自时代(1970-01-01(以来毫秒的时间值,然后是HHMM中的时区偏移。时期之前的时间值为负,因此获得零件的正则表达式可能是:

/[+-]?d+/g

应该匹配时间值和偏移。

可以通过偏移调整时间值然后用于创建日期(传递给日期构造函数的值需要为一个数字,或者将像字符串一样解析(:

(

function parseDate(s) {
  // Get the parts
  var b = s.match(/[+-]?d+/g);
  // If appears invalid, return invalid Date      
  if (!b || b.length != 2) return new Date(NaN);
  
  // Get sign of offset
  var sign = +b[1] < 0? -1 : 1;
  // Convert offset to milliseconds
  // Multiplication converts the strings to numbers so + adds
  var offset = sign * b[1].substr(1,2)*3.6e6 + b[1].substr(3,2)*6e4;
  // Adjust time value by offset, create a Date and return it
  // Subtraction also converts the time value to a number
  return new Date(b[0] - offset);
}
var s = '/Date(862588800000+0800)/';
console.log(parseDate(s));

验证还可以使用正则表达式:

/(-?d+[+-]d{4})/.test(s)

关于格式化日期,已经有很多问题,请参见在哪里可以找到有关在JavaScript中格式化日期的文档?

我想您正在显示您的日期或元素。具有末日概念的角度。对于给定日期,它将转换为格式

例如:

{{document.lastupdateTateTime |日期:" MM/DD/YYYY H:MMA":'CST6CDT'}}

它将代表 mm/dd/yyyy h:mm:ss s格式中的日期。

请浏览一下。

https://angular.io/api/common/datepipe

[https://www.prokerala.com/travel/timezones/cst6cdt] [2]

如果您想以自己的方式表示日期。你可以这样写。

<td>{{document.lastUpdateDateTime | date:"MM/dd/yyyy h:mma" :'CST6CDT'}}</td>

您可以自己的方式自定义此功能以获取所需的结果

在控制器中写一个函数。。

    $scope.getCSTDateTime= function(lastUpdateDateTime) {
     var currentDate = new Date(lastUpdateDateTime);
     console.log("Current Date is :" + currentDate);

     var h = currentDate .getHours();
     var mm = currentDate .getMinutes();
     var SSS = currentDate .getSeconds();
      //date:"MM/dd/yyyy h:mma" :'CDT'
      var month = currentDate .getUTCMonth() + 1; //months from 1-12
      var day = currentDate .getUTCDate();
      var year = currentDate .getUTCFullYear();
      return     month + "/" + day + "/" +year +" "+h+":"+mm+":"+SSS;
};

相关内容

  • 没有找到相关文章

最新更新