У меня есть две переменные, дата и время

let date = "30.09.2021";
let time = "13:2224.990";

Как я могу преобразовать это в метку времени, чтобы я мог сравнивать даты?

0
laieman 10 Окт 2021 в 12:06

2 ответа

Лучший ответ

Вы можете создать метку времени с помощью метода getTime(), но для этого вам сначала нужно создать объект даты JavaScript , который позволит использовать этот метод.

Проблема с вашими входными данными заключается в том, что их формат несовместим с методом new Date() для создания объекта в первую очередь, поэтому я использую метод slice(), чтобы изменить формат ваших переменных даты и времени на сделайте все вышеперечисленное.

// Inputs
let date = "30.09.2021", time = "13:2224.990";

// Changing format
var year = date.slice(6,10),month = date.slice(3,5),day = date.slice(0,2),slice1 = time.slice(0,5),slice2 = time.slice(5,13), newTime = slice1 + ":" + slice2;

// Creating a Date object
const newDate = new Date(year + "-" + month + "-" + day + "T" + newTime); 

// Seconds since 1970/01/01
var seconds = newDate.getTime() / 1000; 

console.log("Timestamp: " + seconds);
1
Gass 10 Окт 2021 в 09:55

Date.prototype.toISOString преобразует объекты даты в удобный для сравнения формат:

const date1 = new Date();
const date2 = new Date();

date1.toISOString() < date2.toISOString();
// `true` if `date1` is earlier than `date2`
// `false` if `date1` is later than or equal to `date2`
0
Dima Parzhitsky 10 Окт 2021 в 09:45