πŸ•’ emojiclock v1.0.0 EmojiClock

An Elixir module for giving you an emoji clock for a specific hour. See the available functions for various input formats.

iex> EmojiClock.time!(~T[02:17:47.179])
"πŸ•‘"

Summary

Functions

Returns a clock emoji for a given Elixir DateTime struct

Returns a clock emoji for a given Elixir DateTime struct

Returns a clock emoji for a given integer hour between 0 and 12

Returns a clock emoji for a given integer hour between 0 and 12

Returns a clock emoji for a given ISO datetime bitsring

Returns a clock emoji for a given ISO datetime bitsring

Returns a clock emoji for a given Elixir NaiveDateTime struct

Returns a clock emoji for a given Elixir NaiveDateTime struct

Returns a clock emoji for the local hour

Returns a clock emoji for a given Elixir Time struct

Returns a clock emoji for a given Elixir Time struct

Returns a clock emoji for a given UNIX timestamp integer

Returns a clock emoji for a given UNIX timestamp integer

Functions

datetime(datetime)
datetime(struct) :: {atom, String.t}
datetime(term) :: {atom, atom}

Returns a clock emoji for a given Elixir DateTime struct.

Examples

iex> EmojiClock.datetime(%DateTime{calendar: Calendar.ISO, day: 7, hour: 15, microsecond: {817699, 6}, minute: 5, month: 4, second: 43, std_offset: 0, time_zone: "Etc/UTC", utc_offset: 0, year: 2017, zone_abbr: "UTC"})
{:ok, "πŸ•’"}

iex> EmojiClock.datetime!(%DateTime{calendar: Calendar.ISO, day: 3, hour: 8, microsecond: {000000, 6}, minute: 7, month: 1, second: 23, std_offset: 0, time_zone: "Etc/UTC", utc_offset: 0, year: 1985, zone_abbr: "UTC"})
"πŸ•—"

Invalid input returns an error:

iex> EmojiClock.datetime(49)
{:error, :invalid_type}

iex> EmojiClock.datetime("clock pls")
{:error, :invalid_type}
datetime!(datetime)
datetime!(struct) :: String.t

Returns a clock emoji for a given Elixir DateTime struct.

Examples

iex> EmojiClock.datetime!(%DateTime{calendar: Calendar.ISO, day: 7, hour: 15, microsecond: {817699, 6}, minute: 5, month: 4, second: 43, std_offset: 0, time_zone: "Etc/UTC", utc_offset: 0, year: 2017, zone_abbr: "UTC"})
"πŸ•’"

iex> EmojiClock.datetime!(%DateTime{calendar: Calendar.ISO, day: 3, hour: 8, microsecond: {000000, 6}, minute: 7, month: 1, second: 23, std_offset: 0, time_zone: "Etc/UTC", utc_offset: 0, year: 1985, zone_abbr: "UTC"})
"πŸ•—"
hour(hour)
hour(integer) :: {atom, String.t}
hour(term) :: {atom, atom}

Returns a clock emoji for a given integer hour between 0 and 12.

Examples

iex> EmojiClock.hour(6)
{:ok, "πŸ••"}

iex> EmojiClock.hour(12)
{:ok, "πŸ•›"}

Invalid input returns an error:

iex> EmojiClock.hour("2")
{:error, :invalid_input}

iex> EmojiClock.hour(16)
{:error, :invalid_input}
hour!(hour)
hour!(integer) :: String.t

Returns a clock emoji for a given integer hour between 0 and 12.

Examples

iex> EmojiClock.hour!(6)
"πŸ••"

iex> EmojiClock.hour!(12)
"πŸ•›"
iso(datetime)
iso(String.t) :: {atom, String.t}
iso(term) :: {atom, atom}

Returns a clock emoji for a given ISO datetime bitsring.

Examples

iex> EmojiClock.iso!("2017-04-06T20:32:16+00:00")
"πŸ•—"

iex> EmojiClock.iso!("1985-01-23T22:07:54Z")
"πŸ•™"

Invalid input returns an error:

iex> EmojiClock.iso(49)
{:error, :invalid_type}

iex> EmojiClock.iso(~N[2000-01-01 04:00:07.000000])
{:error, :invalid_type}
iso!(datetime)
iso!(String.t) :: String.t

Returns a clock emoji for a given ISO datetime bitsring.

Examples

iex> EmojiClock.iso!("2017-04-06T20:32:16+00:00")
"πŸ•—"

iex> EmojiClock.iso!("1985-01-23T22:07:54Z")
"πŸ•™"
naive(datetime)
naive(struct) :: {atom, String.t}
naive(term) :: {atom, atom}

Returns a clock emoji for a given Elixir NaiveDateTime struct.

Examples

iex> EmojiClock.naive(~N[2000-01-01 04:00:07.000000])
{:ok, "πŸ•“"}

iex> EmojiClock.naive(~N[1985-01-23 20:30:42.657002])
{:ok, "πŸ•—"}

Invalid input returns an error:

iex> EmojiClock.naive(49)
{:error, :invalid_type}

iex> EmojiClock.naive("clock pls")
{:error, :invalid_type}
naive!(datetime)
naive!(struct) :: String.t

Returns a clock emoji for a given Elixir NaiveDateTime struct.

Examples

iex> EmojiClock.naive!(~N[2000-01-01 04:00:07.000000])
"πŸ•“"

iex> EmojiClock.naive!(~N[1985-01-23 20:30:42.657002])
"πŸ•—"
now()
now() :: String.t

Returns a clock emoji for the local hour.

Examples

If it’s 18:37 you’ll get β€œπŸ••β€

iex> clock = EmojiClock.now
iex> is_bitstring(clock)
true
time(time)
time(struct) :: {atom, String.t}
time(term) :: {atom, atom}

Returns a clock emoji for a given Elixir Time struct.

Examples

iex> EmojiClock.time(~T[14:32:07.052])
{:ok, "πŸ•‘"}

iex> EmojiClock.time(~T[08:21:42])
{:ok, "πŸ•—"}

Invalid input returns an error:

iex> EmojiClock.time(49)
{:error, :invalid_type}

iex> EmojiClock.time("clock pls")
{:error, :invalid_type}
time!(time)
time!(struct) :: String.t

Returns a clock emoji for a given Elixir Time struct.

Examples

iex> EmojiClock.time!(~T[14:32:07.052])
"πŸ•‘"

iex> EmojiClock.time!(~T[08:21:42])
"πŸ•—"
unix(timestamp)
unix(integer) :: {atom, String.t}
unix(term) :: {atom, atom}

Returns a clock emoji for a given UNIX timestamp integer.

Examples

iex> EmojiClock.unix(475359803)
{:ok, "πŸ•—"}

iex> EmojiClock.unix(1491517308)
{:ok, "πŸ•™"}

Invalid input returns an error:

iex> EmojiClock.unix("4753598030")
{:error, :invalid_type}

iex> EmojiClock.unix("clock pls")
{:error, :invalid_type}
unix!(timestamp)
unix!(integer) :: String.t

Returns a clock emoji for a given UNIX timestamp integer.

Examples

iex> EmojiClock.unix!(475359803)
"πŸ•—"

iex> EmojiClock.unix!(1491517308)
"πŸ•™"