【问题标题】:JS format date in date range picker日期范围选择器中的 JS 格式日期
【发布时间】:2018-10-25 14:34:50
【问题描述】:

我有一个角度为 4 的 daterangepicker,我想在选择日期范围时获取开始日期和结束日期。当我执行console.log(value) 时,它会显示如下响应:

{start: Moment, end: Moment}
    end:
    Moment
    _d : Thu Apr 19 2018 23:59:59 GMT-0500 (CDT) {}
    _i : (6) [2018, 2, 25, 12, 0, 0]
    _isAMomentObject : true
    _isUTC:false
    _isValid:true
    _locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", ordinal: ƒ, _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, …}
    _pf:{empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -1, charsLeftOver: 0, …}
    __proto__ :Object
    start: Moment
    _d: Mon Apr 09 2018 00:00:00 GMT-0500 (CDT) {}
    _i:(6) [2018, 2, 25, 12, 0, 0]
    _isAMomentObject: true
    _isUTC: false
    _isValid:true
    _locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", ordinal: ƒ, _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, …}
    _pf:
    {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -1, charsLeftOver: 0, …}
    __proto__: Object

然后我尝试使用 stringify 和 console.log(JSON.stringify(datepicker.start)); 这给了我这样的结果:2018-04-16T05:00:00.000Z

所以我尝试了这个:

 const date = new Date(JSON.stringify(datepicker.start));
 const date_str = moment(date).format('DD.MM.YYYY');

    console.log(date_str);

这个控制台显示为无效日期。

如何将其转换为正常日期,例如:'2018-05-01'?

【问题讨论】:

    标签: javascript string date format


    【解决方案1】:

    如果你需要实际的JS日期对象,你可以使用start/end_d属性像

    datepicker.start._d
    datepicker.end._d
    

    这将返回您的 JS 日期对象,您不需要字符串化并传递给 Date 构造函数等

    【讨论】:

    • 如果您认为它可能对其他人有用,请接受该问题
    猜你喜欢
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 2015-12-24
    • 2020-11-29
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 2020-10-12
    相关资源
    最近更新 更多