【问题标题】:new Date to accept certain format in javascript在javascript中接受特定格式的新日期
【发布时间】:2016-12-31 01:16:12
【问题描述】:

我有一个用这种格式返回一堆日期的 api

dd/mm/yyyy

所以当我尝试用 new Date() 做某事时

new Date('1/2/2017') 我得到的是 1 月 2 日,但实际上这意味着 2 月 1 日。我无法更改 api 的编写方式,任何解决方法我都可以让 new Date() 采用 dd/mm/yyyy 而不是 mm/dd /yyyy?

我不想像 moment 那样使用库。

【问题讨论】:

  • 你不需要 jQuery。用一天切换月份很容易:yourDate.replace(/(\d+)\/(\d+)\/(\d{4})/, "$2/$1/$3")。或.split("/")new Date(year, month, day) 一起使用。
  • 有一个 getDateFromFormat() 函数解析日期字符串并以毫秒为单位返回时间,表示日期对象mattkruse.com/javascript/date。也许这会解决你的问题。

标签: javascript jquery datetime


【解决方案1】:

您可以颠倒当前日期的顺序。 Date 构造函数将接受yyyy/mm/dd 格式。它也比做正则表达式更容易:

function getDate(date) {
  date = date.split('/').reverse().join('/');
  return new Date(date);
}

let date = '1/2/2017';

alert(getDate(date)); // Wednesday, February 1, 2017

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2019-06-25
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多