Krug.DateUtil (Krug v2.0.25) View Source
Utilitary module to handle date and datetime conversions.
Link to this section Summary
Functions
Calculates the diff in seconds between 2 date and time objects as string in format yyyy-mm-dd H:i:s.
Obtain the actual date and time as string in format dd/mm/yyyy H:i:s.
Obtain the actual date as string in format dd/mm/yyyy.
Obtain the actual datetime in numeric milliseconds.
Obtain the actual date in format yyyy-mm-dd.
Obtain the actual date and time as string in format yyyy-mm-dd H:i:s, making some operations according received parameters.
Obtain the actual hour of day as string in format H:i:s.
Calculates the atual date minus X minutes in format yyyy-mm-dd H:i:s.
Verify if two nano seconds obtained by System.os_time()
match in same day of same month of same year.
Verify if two nano seconds obtained by System.os_time()
match in same hour of same day of same month of same year.
Verify if two nano seconds obtained by System.os_time()
match in same minute of same hour of ... of same year.
Verify if two nano seconds obtained by System.os_time()
match in same month of same year.
Verify if two nano seconds obtained by System.os_time()
match in same second of same minute of same ... of same year.
Verify if two nano seconds obtained by System.os_time()
match in same year.
Obtain one date and time as string in format yyyy-mm-dd or yyyy-mm-dd H:i:s
Convert a numeric timestamp value in miliseconds to a sql date string in format yyyy-mm-dd H:i:s.
Link to this section Functions
Calculates the diff in seconds between 2 date and time objects as string in format yyyy-mm-dd H:i:s.
Examples
iex > Krug.DateUtil.diff_sql_dates_in_seconds("2020-12-05 17:35:58","2020-12-05 16:35:58")
-3600
iex > Krug.DateUtil.diff_sql_dates_in_seconds("2020-12-05 17:35:58","2020-12-05 18:35:58")
3600
Obtain the actual date and time as string in format dd/mm/yyyy H:i:s.
Example
iex > Krug.DateUtil.get_date_and_time_now_string()
05/12/2020 17:35:58
Obtain the actual date as string in format dd/mm/yyyy.
Example
iex > Krug.DateUtil.get_date_now_string()
05/12/2020
Obtain the actual datetime in numeric milliseconds.
Example
iex > Krug.DateUtil.get_date_time_now_millis()
1607193124063
Obtain the actual date in format yyyy-mm-dd.
Return a Elixir Date Object.
Example
iex > Krug.DateUtil.get_now()
~D[2020-12-05]
Obtain the actual date and time as string in format yyyy-mm-dd H:i:s, making some operations according received parameters.
If diff_days > 0, add this number of days in date (date + diff_days).
If diff_days < 0, subtract this number in date (date - diff_days).
If begin_day == true, set time to 00:00:00, otherwise if end_day == true set time to 23:59:59.
Examples
iex > Krug.DateUtil.get_now_to_sql(0,false,false)
2020-12-05 17:35:58
iex > Krug.DateUtil.get_now_to_sql(1,false,false)
2020-12-06 17:35:58
iex > Krug.DateUtil.get_now_to_sql(-1,false,false)
2020-12-04 17:35:58
iex > Krug.DateUtil.get_now_to_sql(0,true,false)
2020-12-05 00:00:00
iex > Krug.DateUtil.get_now_to_sql(0,false,true)
2020-12-05 23:59:59
iex > Krug.DateUtil.get_now_to_sql(3,true,false)
2020-12-08 00:00:00
Obtain the actual hour of day as string in format H:i:s.
Example
iex > Krug.DateUtil.get_time_now_string()
17:35:58
Calculates the atual date minus X minutes in format yyyy-mm-dd H:i:s.
Useful when you need verify if an event run in last minute, for example clear a cache, or count a number of requests of a service since last minute.
Example
Imagine that actual date is 2020-12-05 00:00:35.
iex > Krug.DateUtil.minus_minutes_sql(1)
2020-12-04 23:59:35
Verify if two nano seconds obtained by System.os_time()
match in same day of same month of same year.
Useful if you want controll use of resources by time interval.
Verify if two nano seconds obtained by System.os_time()
match in same hour of same day of same month of same year.
Useful if you want controll use of resources by time interval.
Verify if two nano seconds obtained by System.os_time()
match in same minute of same hour of ... of same year.
Useful if you want controll use of resources by time interval.
Verify if two nano seconds obtained by System.os_time()
match in same month of same year.
Useful if you want controll use of resources by time interval.
Verify if two nano seconds obtained by System.os_time()
match in same second of same minute of same ... of same year.
Useful if you want controll use of resources by time interval.
Verify if two nano seconds obtained by System.os_time()
match in same year.
Useful if you want controll use of resources by time interval.
Obtain one date and time as string in format yyyy-mm-dd or yyyy-mm-dd H:i:s
and convert to format dd/mm/yyyy H:i:s or dd/mm/yyyy
conform the value and parameter received.
Examples
iex > Krug.DateUtil.sql_date_to_time("2020-12-05 17:35:58")
05/12/2020 17:35:58
iex > Krug.DateUtil.sql_date_to_time("2020-12-05 17:35:58",false)
05/12/2020
iex > Krug.DateUtil.sql_date_to_time("2020-12-05")
05/12/2020
Convert a numeric timestamp value in miliseconds to a sql date string in format yyyy-mm-dd H:i:s.
If receive a nil or <= 0 value, return nil.
Example
iex > timestamp = 2709876599456
iex > Krug.DateUtil.time_to_sql_date(timestamp)
2055-11-15 07:29:59