【问题标题】:Converting a non-standard date string to a date [duplicate]将非标准日期字符串转换为日期 [重复]
【发布时间】:2017-01-11 07:21:15
【问题描述】:

我有一个包含 10 万个日期的电子表格,格式如下:

Thursday 29th of October 2015 01:06:21 PM

我需要将这些转换为可用的日期格式。 YYYY/MM/DD,或者任何都可以。只要我能把它变成标准格式。

我查看了各种 PHP/JS 日期函数,但似乎无法识别此日期。我想它可以用一些正则表达式来完成,我想知道是否有人以前来过这里?

【问题讨论】:

  • 也许你继续尝试一些聪明的尝试。
  • 很遗憾我没有 :)
  • 顺便说一句,这可以更容易地在 excel 中完成。除非您需要在其他各种电子表格上自动完成大量工作。

标签: javascript php date type-conversion


【解决方案1】:

您可以将'of ' 替换为空字符串并使用Date

var dateString = 'Thursday 29th of October 2015 01:06:21 PM'.replace('of ', ''),
    date = new Date(dateString);

console.log(date);

    

【讨论】:

  • 这也需要删除“th”,但谢谢,它确实有效。
【解决方案2】:

这段代码肯定会有所帮助..

    var DateObj = new Date()

    function generateDateTOYYMMDD(DateObj){
        var DateDay = DateObj.getDate();
        DateDay = (DateDay<10) ? "0"+DateDay : DateDay;
        var DateMonth = DateObj.getMonth() + 1;
        DateMonth = (DateMonth<10) ? "0"+DateMonth : DateMonth;
        var DateYear = DateObj.getFullYear();
        var DateStr = DateYear + "-" + DateMonth+ "-" + DateDay;
        return DateStr;
    }

【讨论】:

    【解决方案3】:

    你可以用 string.split() 和 array.indedOf() 做任何事情; 一些例子。

    var dateString = "Thursday 29th of October 2015 01:06:21 PM";
    var parts = [];
    parts = dateString.split(" ");
    console.log(parts);

    var months = ["January", "February","March"];
    var monthInt = months.indexOf("March");
    console.log(monthInt);

    之后你只需转换为日期

    var newDate = new Date();
    newDate.setMonth(3);
    newDate.setDate(15);
    newDate.setYear(2016);
    console.log(newDate)

    【讨论】:

    • 关于月份的特别说明,它是0-11而不是1-12
    【解决方案4】:

    在 PHP 中,DateTime::createFromFormat — 返回根据指定格式格式化的新 DateTime 对象

      $str_date = 'Thursday 29th of October 2015 01:06:21 PM';
        $obj_date = DateTime::createFromFormat('l jS \of F Y h:i:s A', $str_date);
        echo date('Y/m/d',$obj_date->getTimestamp());
    

    【讨论】:

    • 请在您的回答中提供更多详细信息,因为该帖子已在低质量帖子中找到。不鼓励仅使用代码和“试试这个”的答案,因为它不提供任何可搜索的内容以及人们应该“试试这个”的原因。
    猜你喜欢
    • 1970-01-01
    • 2021-06-09
    • 2021-09-30
    • 2014-03-23
    • 2015-10-01
    • 2016-02-28
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多