UTC DateTime
A datetime implementation constraint to UTC.
Goal
The goal is to create datetime type, which unlike DateTime guarantees to be
UTC only, without ignoring the existence of timezones like a NaiveDateTime.
A secondary goal is to be more efficient or at least on par with
the build in datetimes. (DateTime, NaiveDateTime)
In practice the goal is to use less memory and
perform common [shared] actions faster.
Quick Setup
iex> UTCDateTime.utc_now
~Z[2019-12-14 16:08:13.042407]
iex> UTCDateTime.from_rfc3339!("2019-12-14T16:08:13.042407+01:00")
~Z[2019-12-14 15:08:13.042407]
iex> UTCDateTime.from_iso8601!("2019-12-14 16:08:13.042407")
~Z[2019-12-14 16:08:13.042407]Installation
The package can be installed
by adding utc_datetime to your list of dependencies in mix.exs:
def deps do
[
{:utc_datetime, "~> 0.0.1"}
]
endThe docs can be found at https://hexdocs.pm/utc_datetime.
Integration
Currently UTCDateTime does not integrate with other libraries.
Please check back later, because integrations are on the roadmap.
Changelog
v0.0.4 (2019-12-15)
New Features:
compare/2from_date/2from_erl/2,from_erl!/2to_date/2to_erl/1to_time/2
v0.0.3 (2019-12-15)
New Features:
- Epochs
v0.0.2 (2019-12-15)
New Features:
~Zsigil forUTCDateTimefrom_iso8601/1,from_iso8601!/1(ISO 8601:2004)from_rfc3339/1,from_rfc3339!/1(RFC 3339)to_iso8601/1(ISO 8601:2004)to_rfc3339/1(RFC 3339)to_string/1(includingString.Charsprotocol)
v0.0.1 (2019-12-14)
Base UTCDateTime.
New Features:
from_datetime/1from_naive/1to_datetime/1,to_datetime/2to_naive/1,to_naive/2utc_now/0
Experimental:
~Zsigil forUTCDateTime- RFC3339 support
Additional:
- Benchmarks
- Roadmap
Roadmap
-
Integrations
:fixtures:time_machinex
-
Release 0.0.5
- Benchmarks page
- Ecto Support
- Benchmarks
-
Release 0.0.6
- Jason support
- Benchmarks
-
Release 0.0.7
- Add / Diff / Truncate
- Benchmarks
-
Release 0.0.8
- To Unix
- To windows
- to_epoch(epoch, time_unit)
- Benchmarks
-
Release 0.0.9
to_local_datetime/1(in caller)
-
Release 0.0.10
from_human/1best effort parse
Copyright and License
Copyright (c) 2019, Ian Luites.
UTCDateTime code is licensed under the MIT License.