【问题标题】:how can i convert a date like dd-mm-yyyy into ISO date format, to store in a mongoDB如何将 dd-mm-yyyy 之类的日期转换为 ISO 日期格式,以存储在 mongoDB 中
【发布时间】:2016-04-22 13:30:43
【问题描述】:

在我的平均堆栈应用程序中,我有基于日期的数据。在角度方面,我使用日期选择器来获取/设置要处理的数据的读/写日期。日期选择器生成“dd-mm-yyyy”形式的日期。将其转换为 mongodb 可理解格式并返回的最简单方法是什么。

【问题讨论】:

标签: javascript angularjs mongodb datetime mean


【解决方案1】:
var str = "29-1-2016";
darr = str.split("-");    // ["29", "1", "2016"]
var dobj = new Date(parseInt(darr[2]),parseInt(darr[1])-1,parseInt(darr[0]));
                         // Date {Fri Jan 29 2016 00:00:00 GMT+0530(utopia standard time)
console.log(dobj.toISOString());
                         //2016-01-28T18:30:00.000Z

这样就可以了,但是有没有更简单的方法..!!

  • 另外请评论为什么我在 isodate 格式中得到 2016-01-28T....,而不是 2016-01-29T.....

【讨论】:

    【解决方案2】:

    您可以使用此解决方案(在我的情况下有效)-

    首先,在您的代码中使用Moment.js,将其包含在您的项目中。现在,你在这里得到的时间字符串 var str = "29-1-2016";moment.js 使用下面的代码,你很高兴 -

    var str = "29-1-2016";
    var time = moment(str).toISOString();
    \\ This variable time is now converted into ISO string
    

    【讨论】:

    • 它只是工作(用moment.js 2.26.0测试)
    • 2016-01-29 (yyyy-mm-dd) 有效,因此无法回答 OP 的问题
    【解决方案3】:

    使用 toISOString 转换您的日期

    var mydate="2017-04-24"
    var IsDate=new Date(mydate).toISOString();
    console.log('my iso date',IsDate);
    

    【讨论】:

    • 这对我不起作用,但如果var mydate = "2017-04-24",它确实有效。
    猜你喜欢
    • 2014-09-29
    • 2018-03-25
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多