1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hustcc-timeago.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 23:21 67eb507

timeago.js — это нано-библиотека размером менее 2 КБ, используемая для форматирования даты и времени с помощью выражения time ago, например: «3 часа назад».

  • Поддерживается i18n.
  • Поддерживаются значения time ago и time in.
  • Поддерживается рендеринг в реальном времени.
  • Библиотека совместима с Node и браузерами.
  • Хорошо протестирована.

Официальный веб-сайт. Версия React здесь: timeago-react. Версия Python здесь: timeago.

Build Status Coverage Status npm Version CDNJS Dist gzip npm Download npm License

Например:

just now
12 seconds ago
2 hours ago
3 days ago
3 weeks ago
2 years ago

in 12 seconds
in 3 minutes
in 24 days
in 6 months

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

  • Установите:

    npm install timeago.js
  • Импортируйте:

    import { format, render, cancel, register } from 'timeago.js';

или импортируйте с тегом script в HTML-файл и получите доступ к глобальной переменной timeago.

```html
<script src="dist/timeago.min.js"></script>
```
  • Пример:

    // формат времени с локалью
    format('2016-06-12', 'en_US');

API

Существует всего 4 API.

  • format

format(date[, locale = 'en_US', opts]), форматирует экземпляр Date / метку времени / строку даты в строку.

import { format } from 'timeago.js';

// форматирование метки времени
format(1544666010224);

// форматирование экземпляра даты
format(new Date(1544666010224));

// форматирование строки даты
format('2018-12-12');

// форматирование с локалью
format(1544666010224, 'zh_CN');

// форматирование с локалью и относительной датой
format(1544666010224, 'zh_CN', { relativeData: '2018-11-11' });

// например
format(Date.now() - 11 * 1000 * 60 * 60); // возвращает «11 часов назад»

По умолчанию используется локаль en_US, библиотека содержит встроенные en_US и zh_CN.

  • render & cancel

render(dom[, locale = 'en_US', opts])
cancel([dom])

Создают DOM-элемент с атрибутом datetime, который автоматически отображает и отменяет.

HTML-код:

```html
<div class="timeago" datetime="2016-06-30 09:20:00"></div>
```

JavaScript-код:

```ts
import { render, cancel } from 'timeago.js';

const nodes = document.querySelectorAll('.timeago');

// используем метод render для отображения узлов в реальном времени
render(nodes, 'zh_CN');

// отображаем с опциями
// render(nodes, 'en_US', { minInterval: 3 });

// отменяем все задачи рендеринга в реальном времени
cancel();

// или отменяем для конкретного элемента
cancel(nodes[0])
```

Третий параметр opts содержит:

```ts
export type Opts = {
  /** относительная дата */
  readonly relativeDate?: TDate;
  /** минимальный интервал обновления в реальном времени */
  readonly minInterval?: number;
};
``` 

DOM-объект должен иметь атрибут datetime со строкой формата даты.

  • register

register(locale, localeFunc), регистрирует новую локаль, встроенные локали содержат: en_US, zh_CN, все локали здесь.

Вы можете зарегистрировать свой собственный язык с помощью API register.

```ts
const localeFunc = (number: number, index: number, totalSec: number): [string, string] => {
  // number: значение timeago / timein;
  // index: индекс массива ниже;
  // totalSec: общее количество секунд между датой, которая должна быть отформатирована, и сегодняшней датой;
  return [
    ['just now', 'right now'],
    ['%s seconds ago', 'in %s seconds'],
    ['1 minute ago', 'in 1 minute'],
    ['%s minutes ago', 'in %s minutes'],
    ['1 hour ago', 'in 1 hour'],
    ['%s hours ago', 'in %s hours'],

...


Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/hustcc-timeago.js.git
git@api.gitlife.ru:oschina-mirror/hustcc-timeago.js.git
oschina-mirror
hustcc-timeago.js
hustcc-timeago.js
master