При работе с датой и временем в TypeScript могут возникнуть ситуации, когда вам потребуется удалить часть времени из объекта DateTime и оставить только дату. Это может быть полезно при сравнении, сохранении дат в базах данных или отображении дат без компонента времени. В этой статье блога мы рассмотрим несколько способов добиться этого в TypeScript, используя разговорный язык и попутно предоставляя примеры кода.
Метод 1: использование методов toISOString() и Split().
Один из подходов — преобразовать объект DateTime в строковый формат ISO, а затем разделить его, чтобы извлечь только часть даты.
const currentDate = new Date();
const dateWithoutTime = currentDate.toISOString().split('T')[0];
console.log(dateWithoutTime);
Метод 2. Использование метода setHours().
Другой метод предполагает использование метода setHours() для установки нулевого компонента времени, эффективно удаляя временную часть.
const currentDate = new Date();
currentDate.setHours(0, 0, 0, 0);
console.log(currentDate.toISOString().split('T')[0]);
Метод 3. Использование метода toLocaleDateString()
Метод toLocaleDateString() позволяет напрямую получить часть даты объекта DateTime.
const currentDate = new Date();
const dateWithoutTime = currentDate.toLocaleDateString();
console.log(dateWithoutTime);
Метод 4: использование сторонней библиотеки (Moment.js)
Если вы уже используете библиотеку Moment.js в своем проекте TypeScript, вы можете использовать ее функциональные возможности для удаления временной части.
import moment from 'moment';
const currentDate = moment();
const dateWithoutTime = currentDate.startOf('day').format('YYYY-MM-DD');
console.log(dateWithoutTime);
Удаление временной части из объекта DateTime в TypeScript является распространенным требованием во многих проектах. Используя методы, описанные в этой статье, вы можете легко извлечь компонент даты и работать с ним отдельно. Независимо от того, предпочитаете ли вы собственные методы JavaScript или используете сторонние библиотеки, такие как Moment.js, TypeScript предоставляет несколько вариантов для легкого решения этой задачи.