Popularity
4.1
Stable
Activity
7.1
-
67
47
8

Programming language: Scala
License: MIT License
Tags: Extensions    
Latest version: v0.3.2

chronoscala alternatives and similar packages

Based on the "Extensions" category.
Alternatively, view chronoscala alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of chronoscala or a related project?

Add another 'Extensions' Package

README

chronoscala

Build Status Maven Central

A JSR-310 port of nscala_time

Supported environment

  • Scala 2.12.x / 2.13.x / 3.0.x
    • Requries Java 8 or later
  • Scala.js

Installation

libraryDependencies += "io.github.chronoscala" %% "chronoscala" % LATEST_VERSION

Usage

import io.github.chronoscala.Imports._

ZonedDateTime.now() + 2.months // returns java.time.ZonedDateTime = 2016-09-12T02:24:22.724+09:00[Asia/Tokyo]

OffsetDateTime.now() + 2.months // returns java.time.OffsetDateTime = 2016-09-12T02:24:22.724+09:00

ZonedDateTime.now() < ZonedDateTime.now() + 1.month // returns true

ZonedDateTime.now() to (ZonedDateTime.now() + 1.day) // returns Interval(2016-07-11T19:15:42.641Z,2016-07-12T19:15:42.641Z)

(ZonedDateTime.now() to (ZonedDateTime.now() + 1.second)).millis // returns 1000

2.hours + 45.minutes + 10.seconds // returns PT2H45M10S

(2.hours + 45.minutes + 10.seconds).millis // returns 9910000

2.months + 3.days // returns P2M3D

LocalDate.now() to (LocalDate.now() + 7.days) by 2.days // returns DateInterval(2016-09-04, 2016-09-06, 2016-09-08, 2016-09-10)

Chronoscala also provides NamespacedImports to avoid conflicts between other package such as scala.concurrent.duration.

import io.github.chronoscala.NamespacedImports._

// Methods are namespaced with `cs`.
2.cs.months + 3.cs.days // returns P2M3D

2L.cs.seconds + 3L.cs.seconds // returns PT5S

ClockProvider

ClockProvider is useful for unit testing.

import io.github.chronoscala.Imports._
import io.github.chronoscala.ClockProvider

ClockProvider.setCurrentClockFixedMillis(0L)

Instant.now() // returns 1970-01-01T00:00:00Z