如何通过指定格式字符串将字符串转换为javascript中的日期时间对象?

我想找的是:

var dateTime = convertToDateTime("23.11.2009 12:34:56", "dd.MM.yyyy HH:mm:ss");

当前回答

JavaScript中没有复杂的日期/时间格式例程。

你将不得不使用一个外部库格式化的日期输出,“JavaScript日期格式”从Flagrant Badassery看起来很有前途。

对于输入转换,已经提出了一些建议。:)

其他回答

js会处理这个:

var momentDate = moment('23.11.2009 12:34:56', 'DD.MM.YYYY HH:mm:ss');
var date = momentDate.;

如果字符串与Date.parse()兼容,则使用new Date(dateString)。如果您的格式不兼容(我认为是),您必须自己解析字符串(使用正则表达式应该很容易),并创建一个新的Date对象,其中包含年、月、日、小时、分钟和秒的显式值。

这里有一个更新的答案,http://www.datejs.com/上有一个很好的js库

Datejs是一个开源的JavaScript数据库,用于解析、格式化和处理。

我想这个可以帮助你:http://www.mattkruse.com/javascript/date/

有一个getDateFromFormat()函数,您可以稍微调整它来解决您的问题。

更新:在javascripttoolbox.com上有一个更新版本的示例

你可以使用moment.js库。我只使用特定于时间的输出,但你可以选择你想选择的格式。

参考:

1. 时刻库:https://momentjs.com/

2. 时间日期相关功能:https://timestamp.online/article/how-to-convert-timestamp-to-datetime-in-javascript

convertDate(date) {
        var momentDate = moment(date).format('hh : mm A');
        return momentDate;
}

你可以像这样调用这个方法:

this.convertDate('2020-05-01T10:31:18.837Z');

我希望这能有所帮助。喜欢编程。