【问题标题】:JavaScript - Converting text variable to DateJavaScript - 将文本变量转换为日期
【发布时间】:2021-03-18 13:13:25
【问题描述】:

我正在处理一个 React 项目,我正在向我的 API 发送 HTTP POST 请求。在 API 中,我的实体有一个类型为 DateTime (.NET) 的字段。

在我的 React 应用程序中,虽然我的 date 变量是一个文本。 例子: let dateText = '18-03-2021'.

我试图弄清楚如何获取此文本并创建一个 Date 类型的变量,该变量具有我的 API 可以处理和采用而不会导致异常的格式。

就后端而言(.NET),我只需要一个日期,时间无关紧要,因为它们没有存储在数据库中。

说实话,我对 JS 中的日期格式不太熟悉。我在谷歌上找到的内容并没有帮助我,因为它没有将其转换为我需要的格式。是否有任何图书馆可以帮助我,或者我可以在没有图书馆的情况下以某种方式做到这一点?

我尝试的不多,但如下:

let dateText = '18-3-2021'
1. let date = new Date(dateText) -> returns `Invalid date`
2. let date = Date.parse(dateText) -> returns `NaN`

我也许可以尝试创建一个格式化日期的custom function,但这是一种好的做法吗?

编辑:我刚刚发现这种格式03-18-2021 有效,但我试图通过的格式不是:18-03-2021。这让我想到了编辑上方的问题。

【问题讨论】:

标签: javascript date parsing


【解决方案1】:

我所做的只是制作一个自定义函数

const formatDate = (date) =>{
    let parts = date.split('-');
    const day = parts[0];
    const month = parts[1];
    const year = parts[2];
    let formattedDate = month + '/' + day + '/' + year;
    return formattedDate;
}

仍然不确定这是否是一个好习惯,但我就是这样实现的。

【讨论】:

  • 手动解析方法是可以的,但是像 m-d-y 这样的格式是模棱两可和令人困惑的。 y-m-d 会更好。
猜你喜欢
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多