【问题标题】:JavaScript input date convertionJavaScript 输入日期转换
【发布时间】:2020-03-27 06:42:35
【问题描述】:
有没有办法将任何日期字符串(不一定是当前日期)(可以是任何格式)转换为 Javascript 中的特定日期格式。就像将“MM-DD-YYYY”或“ddMMYYYY”转换为“DD-MMM-YYYY”一样?
我知道从当前日期作为 var date = new Date(),我们可以获得时间和小时,但是如果现有日期字符串(如“31/01/1999”到“31-JAN-1999”)该怎么办。
给定输入的日期字符串可以是任何格式。
【问题讨论】:
标签:
javascript
regex
string
date
date-format
【解决方案1】:
这是一个常见的问题。
你应该可以使用 moment.js 来做到这一点。
例如
moment("31/01/1999").formatWithJDF("dd - MM - yyyy");
查看这里,https://momentjs.com/docs/ 了解更多详情。
【解决方案2】:
使用DateFormatter.js
var date = new Date('2020-03-25 10:30:25');
var formatter = new DateFormatter();
displayFormat = 'D M d Y h:i:s';
var dateString = formatter.formatDate(date, displayFormat); // Wed Mar 25 2020 10:30:25
【解决方案3】:
这可以通过首先使用提供的正则表达式的数组或映射检查输入日期格式来完成,然后需要将该格式转换为 JS 接受的格式 ISO 格式。
一旦转换为 ISO 格式,该日期现在可以转换为任何形式,并在单独的函数中为其编写逻辑。