如何将日期和时间合并为单个datetime对象?

时间:2019-02-16 09:04:43

标签: javascript react-native

在我的本地本机应用程序中,我需要将日期和时间组合到单个datetime对象中。我使用react native模态日期时间选择器npm包获取日期和时间。

我有一个日期选择器返回一个日期字符串,一个时间选择器返回一个时间字符串。当我尝试合并时,它将为我提供无效日期的输出。

concatDateTime = () => {

    var date = this.state.date;
    var time = this.state.currentTime;

    var dateTime = Moment(date + ' ' + time, 'DD/MM/YYYY HH:mm');

    console.log(dateTime.format('YYYY-MM-DD HH:mm'));
}

我需要('YYYY-MM-DDTHH:mm:s')格式的dateobject。

3 个答案:

答案 0 :(得分:0)

只需点击以下链接, https://stackblitz.com/edit/typescript-bmgx2p?file=index.ts

我希望它能解决您的问题。

答案 1 :(得分:0)

您可以指定输入字符串的格式,以便立即了解如何解析它。

var date = '2019-02-16';
var time = '8:24 PM';

// tell moment how to parse the input string
var momentObj = moment(date + time, 'YYYY-MM-DDLT');

// conversion
var dateTime = momentObj.format('YYYY-MM-DDTHH:mm:s');

console.log(dateTime);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

答案 2 :(得分:0)

另一种选择:

let mDate = moment(data.StartDateLocal).tz("Australia/Melbourne");
let mTime = moment(data.StartTimeLocal).tz("Australia/Melbourne");
let x1 = {
    'hour':    mTime.get('hour'),
    'minute':  mTime.get('minute'),
    'second':  mTime.get('second')
}                
mDate.set(x1);
this._json.header.transactionStartDateTime = mDate.format("YYYY-MM-DDTHH:mm:ss");