SimpleDateTime
Этот класс содержит методы для выполнения операций с объектами SimpleDateTime, например для создания экземпляров объектов, а также для расчета, изменения форматов даты и времени или преобразования между форматами.
SimpleDateTime(dateTime)
Используйте этот конструктор для создания экземпляра нового объекта SimpleDateTime с текущими или переданными значениями дата/время. Объект хранит данные о дате и времени в UTC, поэтому перед передачей этих параметров убедитесь, что они в этом часовом поясе, чтобы избежать ошибки.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
dateTime | String | Нет | '' |
Пример:
const nowDateTime = new SimpleDateTime();
//
const registrationDateTime = new SimpleDateTime(record.registration_datetime);
//
const yearStartDateTime = new SimpleDateTime('2019-01-01 00:00:00');
Вы также можете использовать значения дат в относительном формате для конструктора SimpleDateTime. Все форматы доступны в статье Относительные форматы.
const yesterdayDatetime = new SimpleDateTime('yesterday');
ss.info(yesterdayDatetime.getValue());
// Информация: 2022-02-28 00:00:00
const tomorrowDatetime = new SimpleDateTime('tomorrow');
ss.info(tomorrowDatetime.getValue());
// Информация: 2022-03-02 00:00:00
const yesterdayWorkdayDayStart = new SimpleDateTime('yesterday 06:30');
ss.info(yesterdayWorkdayDayStart.getValue());
// Информация: 2022-02-28 06:30:00
const fistDayOfNextMonthStart = new SimpleDateTime('first day of next month 00:00');
ss.info(fistDayOfNextMonthStart.getValue());
// Информация: 2022-04-01 00:00:00
const rangeStartDatetime = new SimpleDateTime(`first day of ${monthName}`);
ss.info(rangeStartDatetime .getValue());
// Информация: 2022-02-01 00:00:00
const YEAR = 2022;
const MONTH = 2;
const monthDatetime = new SimpleDateTime(`${YEAR}-${String(MONTH).padStart(2, '0')}-02 00:00:00`);
const monthName = monthDatetime.getMonthUTC();
ss.info(monthName);
// Информация: Февраль
addDays(days)
Используйте метод для изменения числа в объекте SimpleDateTime относительно его текущей даты. Положительное значение параметра добавляет дни к текущей дате, отрицательное значение параметра отнимает дни от текущей даты.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
days | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addDays(3);
ss.info(registrationDateTime.getValue());
//Информация: 2019-01-04 08:12:10
addMonths(months)
Используйте этот метод, чтобы изменить значение месяца в текущем объекте SimpleDateTime относительно его текущей даты. Положительное значение параметра добавляет к текущей дате количество дней, равное количеству дней в текущем месяце, отрицательное значение параметра отнимает количество дней, равное количеству дней в предыдущем месяце.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
months | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addMonths(-1);
ss.info(registrationDateTime.getValue());
//Информация: 2018-12-01 08:12:10
addSeconds(seconds)
Используйте метод для изменения секунд в текущем объекте SimpleDateTime относительно его текущего времени. Положительное значение параметра добавляет секунды ко времени, отрицательное значение уменьшает количество секунд.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
seconds | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addSeconds(3600);
ss.info(registrationDateTime.getValue());
//Информация: 2019-01-01 09:12:10
addWeeks(weeks)
Используйте метод, чтобы изменить значение порядкового номера недели в текущем объекте SimpleDateTime относительно его текущей даты. Положительное значение параметра увеличивает порядковый номер недели относительно текущей даты, отрицательное значение уменьшает его.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
weeks | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addWeeks(1);
ss.info(registrationDateTime.getValue());
//Информация: 2019-01-08 08:12:10
addYears(years)
Используйте метод для изменения года в текущем объекте SimpleDateTime относительно его текущей даты. Положительное значение параметра добавляет года к дате, отрицательное значение уменьшает количество лет.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
years | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const contractStartDateTime = new SimpleDateTime('2019-01-01 00:00:00');
contractStartDateTime.addYears(1);
ss.info(contractStartDateTime.getValue());
//Информация: 2020-01-01 00:00:00
after(dateTime)
Используйте этот метод, чтобы определить, следует ли текущая дата после даты, указанной в параметре dateTime.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
dateTime | SimpleDateTime object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает true, если текущая дата позднее заданной в параметре или равна ей. Если текущая дата раньше указанной в параметре, метод возвращает false. |
Пример:
const startDateTime = new SimpleDateTime('2018-01-01 07:58:35');
const endDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const isStartAfterThanEnd = startDateTime.after(endDateTime);
ss.info(isStartAfterThanEnd);
//Информация: false
before(dateTime)
Используйте метод, чтобы определить, предшествует ли текущая дата указанной дате в dateTime.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
dateTime | SimpleDateTime object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает true, если текущая дата предшествует заданной в параметре или равна ей. Если текущая дата позже указанной в параметре, метод возвращает false. |
Пример:
const startDateTime = new SimpleDateTime('2018-01-01 07:58:35');
const endDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const isStartBeforeEnd = startDateTime.before(endDateTime);
ss.info(isStartBeforeEnd);
//Информация: true
compareTo(dateTime)
Используйте этот метод, чтобы сравнить два объекта даты и времени и определить, равны ли они. Если нет, метод определяет их порядок.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
dateTime | SimpleDateTime object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
0 | Даты совпадают. |
1 | Дата объекта идет после даты, указанной в параметре. |
-1 | Дата объекта предшествует дате, указанной в параметре. |
Пример:
const begin = new SimpleDateTime('2019-04-01 08:15:00');
const end = new SimpleDateTime('2019-05-01 01:00:00');
ss.info(begin.compareTo(end)); // -1
ss.info(end.compareTo(begin)); // 1
ss.info(begin.compareTo(begin)); // 0
equals(dateTime)
Используйте этот метод, чтобы сравнить значение dateTime с текущей датой объекта, чтобы определить, совпадают ли они.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
dateTime | SimpleDateTime object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает true, если даты совпадают; если даты различаются, метод возвращает false. |
Пример:
const firstDateTime = new SimpleDateTime('2018-01-01 08:00:00');
const secondDateTime = new SimpleDateTime('2018-01-01 08:15:00');
const thirdDateTime = new SimpleDateTime('2018-01-01 08:00:00');
ss.info(firstDateTime.equals(secondDateTime));
ss.info(thirdDateTime.equals(firstDateTime));
//Информация: false
//Информация: true
getDate()
Используйте метод, чтобы вернуть дату, сохраненную в объекте SimpleDateTime в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает дату в часовом поясе UTC. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDate());
//Информация: 2019-01-01
getDayOfMonthLocalTime()
Используйте метод, чтобы вернуть день месяца, сохраненный объектом SimpleDateTime в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает день месяца. |
Пример:
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfMonthLocalTime());
//Информация: 7
getDayOfMonthUTC()
Используйте метод, чтобы вернуть день месяца, сохраненный объектом SimpleDateTime в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает день месяца. |
Пример:
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfMonthUTC());
//Информация: 7
getDayOfWeekLocalTime()
Используйте метод, чтобы вернуть день недели, сохраненный объектом SimpleDateTime, в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает значение дня недели. Возможные значения: 'Пнд', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вск'. |
Пример:
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfWeekLocalTime()); // Пнд
getDayOfWeekUTC()
Используйте метод, чтобы вернуть день недели, сохраненный объектом SimpleDateTime в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает значение дня недели. Возможные значения: 'Пнд', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вск'. |
Пример:
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfWeekUTC());
//Информация: Пнд
getDaysInMonthLocalTime()
Используйте метод, чтобы вернуть количество дней в месяце, сохраненном объектом SimpleDateTime в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает количество дней в месяце. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDaysInMonthLocalTime());
//Информация: 31
getDaysInMonthUTC()
Используйте метод, чтобы вернуть количество дней в месяце, сохраненном объектом SimpleDateTime в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает количество дней в месяце. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDaysInMonthUTC());
//Информация: 31
getDisplayValue()
Используйте метод, чтобы вернуть значения даты и времени в часовом поясе и отображаемом формате текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает значение даты и времени. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDisplayValue()); // Часовой пояс текущего пользователя Europe/Moscow
//Информация: 2019-01-01 11:00:00
getErrorMsg()
Используйте метод, чтобы вернуть сообщение об ошибке, если объект SimpleDateTime был некорректным.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает сообщение об ошибке. |
Пример:
const startDateTime = new SimpleDateTime('2019-zz-01 08:00:00');
ss.error(startDateTime.getErrorMsg());
// Ошибка: Анализ даты и времени выявил ошибку!
getLocalDate()
Используйте метод, чтобы вернуть дату, сохраненную объектом SimpleDateTime, в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает дату в часовом поясе пользователя. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getLocalDate());
//Информация: 2019-01-01
getLocalTime()
Используйте метод, чтобы вернуть время, сохраненное объектом SimpleDateTime, в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
SimpleDateTime object | Метод возвращает время в часовом поясе пользователя. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const time = startDateTime.getLocalTime();
ss.info( "Местное время " + time.getValue()); // Часовой пояс текущего пользователя Europe/Moscow
// Информация: Местное время 11:00:00.
getMonthLocalTime()
Используйте метод, чтобы вернуть месяц, сохраненный объектом SimpleDateTime, в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает название месяца. |
Пример:
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getMonthLocalTime());
// Информация: Январь
getMonthUTC()
Используйте метод, чтобы вернуть значение месяца, сохраненное объектом SimpleDateTime, в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает название месяца. |
Пример:
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getMonthUTC());
// Информация: Декабрь
getNumericValue()
Используйте метод, чтобы вернуть временную метку Unix, в которой хранится количество секунд с 1 января 1970, 00:00:00.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает значение временной метки Unix. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getNumericValue());
//Информация: 1546329600
getTime()
Используйте метод, чтобы вернуть объект SimpleTime, который показывает значение времени объекта SimpleDateTime.
Возвращаемое значение:
Тип | Описание |
---|---|
SimpleDateTime object | Метод возвращает время в часовом поясе UTC. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const time = startDateTime.getTime();
ss.info(time.getByFormat('h:i:s'));
//Информация: 11:01:00
getValue()
Используйте метод, чтобы вернуть значение даты и времени в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает значение даты и времени во внутреннем формате. Если введенное значение даты не валидно, метод возвращает null. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getValue()); // 2019-01-01 08:00:00
getWeekOfYearLocalTime()
Используйте метод, чтобы вернуть порядковый номер недели, сохраненный объектом SimpleDateTime в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает номер текущей недели. |
Пример:
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getWeekOfYearLocalTime());
//Информация: 1
getWeekOfYearUTC()
Используйте метод, чтобы вернуть номер недели, сохраненный объектом SimpleDateTime в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает номер текущей недели. |
Пример:
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getWeekOfYearUTC());
//Информация: 1
getYearLocalTime()
Используйте метод, чтобы вернуть значение года, сохраненное объектом SimpleDateTime в часовом поясе текущего пользователя.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает четырехзначное значение года. |
Пример:
const holidayDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(holidayDateTime.getYearLocalTime());
//Информация: 2020
getYearUTC()
Используйте метод, чтобы вернуть значение года, сохраненное объектом SimpleDateTime в часовом поясе UTC.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Метод возвращает четырехзначное значение года. |
Пример:
const holidayDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(holidayDateTime.getYearUTC());
//Информация: 2019
isValid()
Используйте этот метод, чтобы определить, является ли допустимым указанное значение даты и времени.
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает true, если значение даты и времени допустимо; если нет, то метод возвращает false. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
startDateTime.setValue('2011-aa-01 00:00:00');
ss.info(startDateTime.isValid());
//Информация: false
setValue(dateTime)
Используйте этот метод для определения значения даты и времени в объекте SimpleDateTime. Параметр dateTime должен иметь значение в часовом поясе UTC и внутреннем формате ГГГГ-ММ-ДД чч:мм:сс.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
dateTime | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
startDateTime.setValue('2020-01-01 12:00:00');
ss.info(startDateTime.getValue());
//Информация: 2020-01-01 12:00:00
subtract(first, second)
Используйте метод, чтобы вернуть количество времени между двумя значениями SimpleDateTime. Кроме того, он может вычесть количество времени из текущего объекта SimpleDateTime.
Метод getDisplayValue() возвращает значение в часовом поясе текущего пользователя. Метод getValue() возвращает данные только в часовом поясе UTC.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
first | SimpleDateTime object/Integer | Да | Нет |
second | SimpleDateTime object | Нет | null |
Возвращаемое значение:
Тип | Описание |
---|---|
SimpleDuration object | Метод возвращает объект SimpleDuration, если в метод переданы оба параметра. В остальных случаях метод возвращает null. |
Пример 1:
const startDatetime = new SimpleDateTime('2019-11-08 20:00:00');
const endDatetime = new SimpleDateTime('2019-11-08 20:06:28');
const diffDuration = new SimpleDateTime().subtract(startDatetime, endDatetime);
ss.info(diffDuration.getDurationSeconds());
// Информация: 388
Тот же пример без использования метода subtract:
const startDatetime = new SimpleDateTime('2019-11-08 20:00:00');
const endDatetime = new SimpleDateTime('2019-11-08 20:06:28');
const diffSeconds = endDatetime.getNumericValue() - startDatetime.getNumericValue();
ss.info(diffSeconds);
// Информация: 388
Пример 2:
const datetime = new SimpleDateTime('2020-08-28 09:00:00');
datetime.subtract(3600);
ss.info(datetime.getValue());
//Информация: 2020-08-28 08:00:00
Тот же пример без использования метода subtract:
const datetime = new SimpleDateTime('2020-08-28 09:00:00');
datetime.addSeconds(-3600);
ss.info(datetime.getValue());
//Информация: 2020-08-28 08:00:00