带有时刻的js日期格式

问题描述 投票:0回答:2

我在React js中遇到了一个问题。我想比较/匹配两个日期start_endheader_date,并显示在渲染组件页面上。

我的代码示例:

          {this.state.appointmentdata.map(data => 
              { const dateTime = moment(data.start_date.toString()); //start_date
                const headerDate = moment(this.state.headerdatearray);    //header_date
                return headerDate.isSame(dateTime, 'day');
            })
          }

console.log数据(日期格式)

start_date: 2020-05-07 02:15:00     //format: "YYYY-MM-DD HH:mm:ss"

header_date array: ["11:57:16 AM", "11:27:16 AM"] 

但是日期格式不同。如何获得相同格式的相同日期?

有人帮我吗?

javascript reactjs date momentjs date-parsing
2个回答
-1
投票

可以有多个选项:

在终端运行此命令:

npm install moment --save

React js组件中的用法:] >>

import Moment from 'moment';

render(){
    Moment.locale('en');
    var dt = '2020-05-07T02:15:00';
    return(<View> {Moment(dt).format('d MMM')} </View>)
}

您可以在https://momentjs.com/docs/中查看一下moment.js官方文档

或者您可以使用此软件包

npm install date-fns --save

使用代码:

] >>
import { format } from "date-fns";

var date = new Date("2020-05-07 02:15:00");

var formattedDate = format(date, "MMMM Do, YYYY H:mma");

console.log(formattedDate);

我已经做了类似的尝试,但是您已经根据当前代码的需要进行了修改:

let interval = 1000;
let date1 = new Date(data.date1); // date no. 1
let date2 = new Date(); 
let now = new Date(date2.getTime()); // put your date no. 2 here
let dueDate = new Date(date1.getTime() - date1.getTimezoneOffset() * 119876); // to match the timezone, set as per your location replacing 119876
var m1 = moment(dueDate,'MM/DD/YYYY HH:MM:SS');
var m2 = moment(now,'MM/DD/YYYY HH:MM:SS');
let timeDiff = m1.diff(m2); //time difference
let daysDiff = m1.diff(m2, 'days'); //days difference
let duration = moment.duration(timeDiff - interval, 'milliseconds');
data.days = daysDiff;
data.hours = duration.hours();
data.mins = duration.minutes();
data.secs = duration.seconds();
setInterval(function(){
  duration = moment.duration(duration - interval, 'milliseconds');
  data.days = daysDiff;
  data.hours = duration.hours();
  data.mins = duration.minutes();
  data.secs = duration.seconds();
}, interval);

-1
投票

我已经做了类似的尝试,但是您已经根据当前代码的需要进行了修改:

© www.soinside.com 2019 - 2024. All rights reserved.