An open API service indexing awesome lists of open source software.

https://github.com/tariel-x/rtime

Formats dates in russian language
https://github.com/tariel-x/rtime

formatting russian russian-language time time-formatting

Last synced: 2 months ago
JSON representation

Formats dates in russian language

Awesome Lists containing this project

README

        

# rtime

[![Go Reference](https://pkg.go.dev/badge/github.com/tariel-x/rtime.svg)](https://pkg.go.dev/github.com/tariel-x/rtime)

Пакет Rtime -- обёртка для time.Time, предназначенная для форматирования дат на русском языке.
Расширяет функцию Format, добавляя дополнительные плейсхолдеры.

## Пример использования

Создание

```go
t := rtime.Now()
t := rtime.Date(2023, 03, 1, 02, 48, 05, 0, time.UTC)
t := rtime.RTime{time.Now()}
```

Форматирование

```go
t.Format(rtime.GOST2016Word) // 1 марта 2023 г.
t.Format(rtime.GOST2016Numeric) // 01.03.2023
t.Format("2 января 2006 г., понедельник") // 1 марта 2023 г., среда
t.Format("ПН/Mon, 2 Янв/Jan 2006") // "СР/Wed, 1 Мар/Mar 2023
```

## Список плейсхолдеров

| Плейсхолдер | Значения |
|---------------|-----------------------------------------------------------------------------------|
| `Январь` | Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь |
| `январь` | январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь |
| `Янв` | Янв Фев Мар Апр Май Июнь Июль Авг Сен Окт Ноя Дек |
| `янв` | янв фев мар апр май июнь июль авг сен окт ноя дек |
| `Января` | Января Февраля Марта Апреля Мая Июня Июля Августа Сентября Октября Ноября Декабря |
| `января` | января февраля марта апреля мая июня июля августа сентября октября ноября декабря |
| `Понедельник` | Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье |
| `понедельник` | понедельник вторник среда четверг пятница суббота воскресенье |
| `ПН` | ПН ВТ СР ЧТ ПТ СБ ВС |
| `пн` | пн вт ср чт пт сб вс |

## Замена значений

При необходимости можно заменить сокращённые имена дней недели и месяцев на необходимые, например:

```go
_ = rtime.SetWeekDayLowerNames([]string{
"пон",
"вто",
"сре",
"чет",
"пят",
"суб",
"вос",
})

t := rtime.Date(2023, 03, 1, 02, 48, 05, 0, time.UTC)
t.Format("пн, 01 января 2006") // сре, 03 марта 2023
```