如何从 2 个不同的字符串中获取以毫秒为单位的时间

How do I get the time in milliseconds from 2 different string?

本文关键字:获取 时间 为单位 字符串      更新时间:2023-09-26

我有以下代码,我从URL中的参数中获取。

这是我在网址中的内容&dateStart=15.01.2015&timeStart=08%3A00&

获得参数后,我有以下内容: 15.01.2015:08:00

使用 Javascript 如何解析此字符串以毫秒为单位获取日期?

Date.parse(15.01.2015:08:00)

但显然这是行不通的。

Date.parse(15-01-2015)

这有效,我可以更改它,但是我如何添加或获取时间中的毫秒?

这很可能是我一生中写过的最丑陋的JavaScript函数,但它应该对你有用。

function millisecondsFromMyDateTime(dateTime) {
    var dayMonth = dateTime.split('.');
    var yearHourMinute = dayMonth[2].split(':');
    var year = yearHourMinute[0];
    var month = parseInt(dayMonth[1]) - 1;
    var day = dayMonth[0];
    var hour = yearHourMinute[1];
    var minute = yearHourMinute[2];
    var dateTimeObj = new Date(year, month, day, hour, minute, 0, 0);
    return dateTimeObj.getTime();
}

它将与您的日期时间的格式一起使用 又名 day.month.year:hours:minutes .

您可以使用 Javascript Date ObjectJavaScript getTime() 方法来实现它:

var dateString="01.15.2015 08:00";
var d = new Date(dateString);
console.log(d);
var ms=d.getTime();
console.log(ms);
ms+=10000;
console.log(new Date(ms));

这是一个演示小提琴

注意:将日期字符串从 15.01.2015:08:00 更改为 "01.15.2015 08:00",因为它不是有效的日期格式。

检查格式

JavaScript 中的 Date() :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date允许的格式 :https://www.rfc-editor.org/rfc/rfc2822#page-14

你可以尝试使用moment.js库,如下所示:

moment('15.01.2015 08:00', 'DD.MM.YYYY HH:mm').milliseconds()

只是为了完成,您始终可以从提取的数据中提取信息并创建一个 Date 对象。

var dateStart = '15.01.2015'
var timeStart = '08:00';
var year = dateStart.substring(6,10);
var month = dateStart.substring(3,5);
var day = dateStart.substring(0,2);
var hour = timeStart.substring(0,2);
var mins = timeStart.substring(3,5);
var fulldate = new Date(year, month-1, day, hour, mins);
console.log(fulldate.getTime());