@gm50x/chronus
TypeScript icon, indicating that this package has built-in type declarations

0.5.1 • Public • Published

Chronus

Chronus is a date and time manipulation library based on C#'s DateTime and TimeSpan. It's got 0 dependencies and the instances are always immutable. The central idea is to try and simplify the manipulation of dates by providing a level of abstraction, preventing us from repeating the same functions every new project to work around javascript dates.

The library exports 2 classes DateTime and TimeSpan which are used to manipulate dates and time durations. Under the hood DateTime encapuslates Date and TimeSpan encapuslates a number that represents milliseconds or ticks.

There are plenty of examples down below, but you can also check the source code or tests on Github. If you have any questions feel free to open an issue there!

Supports

  • JavaScript
  • TypeScript

Installation

npm install @gm50x/chronus
const {
  DateTime,
  TimeSpan
} = require('@gm50x/chronus')

const now = DateTime.now
const today = DateTime.today
const tomorrow = today.addDays(1)
const nextMonth = today.addMonths(1)
const nextYear = today.addYears(1)
const tomorrowMinusToday = tomorrow.subtract(today)
const nowPlus30Mins = now.add(TimeSpan.fromMinutes(30))
const nowPlus2Hours = now.addHours(2)
const oneHundredDaysAhead = today.addDays(100)
const oneDayFiveMinutesTime = TimeSpan.fromDays(1).addMinutes(5)

console.log(now)
console.log(now.toDate())
console.log(today)
console.log(tomorrow)
console.log(nextMonth)
console.log(nextYear)
console.log(tomorrowMinusToday)
console.log(nowPlus30Mins)
console.log(nowPlus2Hours)
console.log(oneHundredDaysAhead)
console.log(oneHundredDaysAhead.dayOfYear)
console.log(now.equals(today))
console.log(today.equals(today))
console.log(now.timeOfDay.totalHours)
console.log(TimeSpan.fromHours(2))
console.log(oneDayFiveMinutesTime)

Keep in touch


  • Author: Getúlio Magela Silva
  • LinkedIn

Package Sidebar

Install

npm i @gm50x/chronus

Weekly Downloads

1

Version

0.5.1

License

MIT

Unpacked Size

27.8 kB

Total Files

24

Last publish

Collaborators

  • getuliomagela