如何使用 yyyy'-'MM'-'dd'T'HH':'mm':'ss.ffffffff 日期时间格式计算两个日期之间的差异

时间:2021-02-24 10:16:44

标签: javascript angular date

我想计算来自服务器的日期和时间 2021-02-23T08:31:37.1410141 (yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffff) 的天数差,该日期和时间为字符串格式,当前日期时间为角度。

我尝试使用

const daysDiff = Math.floor(Math.abs(<any>fromDate - <any>toDate) / (1000*60*60*24));

但这对我不起作用。如何计算日差?

3 个答案:

答案 0 :(得分:1)

const date1 = new Date("2021-02-23T08:31:37.1410141"); 
const date2 = new Date(); 
const diffTime = date2.getTime() - date1.getTime(); 
const diffDays = Math.floor(Math.abs(diffTime / (1000 * 3600 * 24)));

答案 1 :(得分:0)

这对你有用吗? Date.now() - <old date timestamp> 这给出了以毫秒为单位的差异

所以要计算我们使用的天数差异: Math.floor((Date.now() - <old date timestamp>) / (1000 * 60 * 60 * 24))

答案 2 :(得分:0)

我在接收 2020-11-12T12:18:58.019+03:30 之类的数据时遇到了同样的问题,但我用这段代码处理了它:

          const date = createAt.substr(0, 10);
      const time = createAt.substr(11, 19).split('.')[0];
      if (date === '0001-01-01') {
        return '';
      } else {
        return (
          time +
          ' - ' +
          moment(date, 'YYYY-M-D').locale('fa').format('YYYY/MM/DD')
        );
      }

由于您接收到的数据字符串有 27 个,因此您必须根据需要更改 .substr(0, 10) 方法

相关问题