@qor/helpers

Даты

Константы форматов дат и парсинг времени из API.

DATE_FORMATS

Константы форматов дат для использования с dayjs.

import dayjs from 'dayjs'

dayjs().format(DATE_FORMATS.DISPLAY)  // "26.01.2025"

Доступные форматы

КонстантаФорматПример
DATE_FORMATS.DISPLAYDD.MM.YYYY26.01.2025
DATE_FORMATS.DISPLAY_SHORTDD.MM.YY26.01.25
DATE_FORMATS.APIYYYY-MM-DD2025-01-26
DATE_FORMATS.DATETIMEDD.MM.YYYY HH:mm26.01.2025 14:30
DATE_FORMATS.DATETIME_SHORTDD.MM.YY HH:mm26.01.25 14:30
DATE_FORMATS.DATETIME_FULLDD.MM.YYYY HH:mm:ss26.01.2025 14:30:45
DATE_FORMATS.TIMEHH:mm14:30
DATE_FORMATS.TIME_FULLHH:mm:ss14:30:45
DATE_FORMATS.MONTH_YEARMMMM YYYYЯнварь 2025
DATE_FORMATS.DAY_MONTHD MMM26 янв

Использование

<script setup>
import dayjs from 'dayjs'

const order = ref({ created_at: '2025-01-26T14:30:00Z' })
const displayDate = computed(() =>
  dayjs(order.value.created_at).format(DATE_FORMATS.DATETIME)
)
</script>

<template>
  <p>Создан: {{ displayDate }}</p>
  <!-- Создан: 26.01.2025 14:30 -->
</template>

parseServerTime

Парсит время с сервера, учитывая что сервер отдаёт UTC.

parseServerTime(serverTime: string): Date

Примеры

parseServerTime('2025-01-25T14:30:00')       // Date (UTC)
parseServerTime('2025-01-25T14:30:00Z')      // Date (UTC)
parseServerTime('2025-01-25T14:30:00+05:00') // Date (с offset)
Если в строке нет указания таймзоны (Z или +/-HH:MM), функция автоматически добавляет Z, считая что сервер отдаёт UTC.

Использование

const serverDate = parseServerTime(order.created_at)
const localTime = dayjs(serverDate).format(DATE_FORMATS.DATETIME)