Lumesh time
Module Documentation
Module Path: time
Function Description: Provides functionalities for retrieving, parsing, calculating, and formatting time.
Function Directory
Function Category | Function Name | Call Format | Core Functionality |
---|---|---|---|
Time Retrieval | now |
time.now [format] |
Get the current time (object or formatted string) |
Time Retrieval | display |
time.display |
Get pre-formatted time information (mapping of various formats) |
Time Retrieval | stamp |
time.stamp [datetime] |
Get Unix timestamp (seconds) |
Time Retrieval | stamp_ms |
time.stamp_ms [datetime] |
Get Unix timestamp (milliseconds) |
Time Parsing & Formatting | parse |
time.parse [format] datetime_str |
Parse time string into time object |
Time Parsing & Formatting | fmt |
time.fmt format_str [datetime] |
Format time object into string |
Time Parsing & Formatting | to_string |
time.to_string datetime [format] |
Convert time object to string (default RFC3339) |
Time Arithmetic | add |
time.add duration [base_time] |
Add duration to time |
Time Arithmetic | diff |
time.diff time1 time2 unit |
Calculate the difference between two times (specified unit) |
Time Arithmetic | timezone |
time.timezone datetime offset_hours |
Convert timezone (by hour offset) |
Time Component Retrieval | year |
time.year [datetime] |
Get the year |
Time Component Retrieval | month |
time.month [datetime] |
Get the month (1-12) |
Time Component Retrieval | weekday |
time.weekday [datetime] |
Get the day of the week (1-7, Monday is 1) |
Time Component Retrieval | day |
time.day [datetime] |
Get the day (1-31) |
Time Component Retrieval | hour |
time.hour [datetime] |
Get the hour (0-23) |
Time Component Retrieval | minute |
time.minute [datetime] |
Get the minute (0-59) |
Time Component Retrieval | second |
time.second [datetime] |
Get the second (0-59) |
Time Component Retrieval | seconds |
time.seconds [datetime] |
Get seconds since midnight |
Other Functions | sleep |
time.sleep duration |
Pause execution for a specified duration |
Other Functions | is_leap_year |
time.is_leap_year [year] |
Check if it is a leap year |
Other Functions | from_map |
time.from_map [map] |
Create a time object from components |
Function Details
1. Time Retrieval Functions
time.now
- Get Current Time
Parameter Description:
Parameter Mode | Parameter Type | Description |
---|---|---|
No Parameters | - | Returns the current time as a DateTime object |
Single Parameter | String |
Returns formatted string using specified format |
Return Value: DateTime
object or String
Example:
time.now() # => DateTime(2024-06-18T15:30:45) |
time.display
- Get Pre-formatted Time Information
Parameter Description: No parameters
Return Value: A mapping of various time formats (type Map
), keys include:
time
: 24-hour time (HH:MM:SS)timepm
: 12-hour time (h:mm AM/PM)date
: Date (YYYY-MM-DD)datetime
: Date and time (YYYY-MM-DD HH:MM:SS)rfc3339
: RFC3339 formatrfc2822
: RFC2822 formatweek
: Week number of the yearordinal
: Day of the yeardatetime_obj
: OriginalDateTime
object
Example:
time.display() |
time.stamp
- Get Unix Timestamp (Seconds)
Parameter Description:
Parameter Mode | Parameter Type | Description |
---|---|---|
No Parameters | - | Returns the current timestamp |
Single Parameter | DateTime or String |
Returns the timestamp for the specified time |
Return Value: Integer
(timestamp in seconds)
Example:
time.stamp() # => 1718703045 |
time.stamp_ms
- Get Unix Timestamp (Milliseconds)
Parameter Description: Same as time.stamp
Return Value: Integer
(timestamp in milliseconds)
Example:
time.stamp_ms() # => 1718703045123 |
2. Time Parsing and Formatting Functions
time.parse
- Parse Time String
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 (optional) | String |
Time format (default tries common formats like “%Y-%m-%d %H:%M”) |
2 | String |
Time string to parse |
Supported Format Examples:
%Y-%m-%d %H:%M
→ “2024-06-18 15:30”%Y-%m-%d %H:%M:%S
%d/%m/%Y %H:%M:%S
→ “18/06/2024 15:30:45”%m/%d/%Y %I:%M %p
→ “06/18/2024 03:30 PM”
Return Value: DateTime
object
Example:
time.parse "2024-06-18 15:30" |
time.fmt
- Format Time
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 | String |
Format string |
2 (optional) | DateTime or String |
Time to format (default is current time) |
Format Symbols Reference:
%Y
: Four-digit year (2024)%m
: Month (01-12)%d
: Day (01-31)%H
: Hour in 24-hour format (00-23)%M
: Minute (00-59)%S
: Second (00-59)
Return Value: String
Example:
time.fmt "%Y-%m-%d" # => "2024-06-18" |
time.to_string
- Convert to String
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 | DateTime |
Time object |
2 (optional) | String |
Format string (default is RFC3339) |
Return Value: String
Example:
time.to_string(time.now()) # => "2024-06-18T15:30:45+08:00" |
3. Time Arithmetic Functions
time.add
- Add Time Interval
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 | String or Integer … |
Duration (string like “1h30m” or multiple numeric parameters) |
2 (optional) | DateTime |
Base time (default is current time) |
Duration Format:
1d2h30m
= 1 day 2 hours 30 minutes3600s
= 3600 seconds (1 hour)- Multi-parameter mode:
seconds minutes hours days
(e.g.,0 30 0
= 30 minutes)
Return Value: DateTime
object
Example:
time.add "1h30m" # => Current time plus 1 hour 30 minutes |
time.diff
- Calculate Time Difference
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 | String |
Unit (“s” for seconds, “m” for minutes, “h” for hours, “d” for days) |
2 | DateTime |
Time1 |
3 | DateTime |
Time2 |
Return Value: Integer
(time difference in specified unit)
Example:
let t1 = (time.parse "2024-06-18 12:00") |
time.timezone
- Convert Timezone
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 | Integer |
Timezone offset (hours, e.g., +8, -5) |
2 | DateTime |
Time object |
Return Value: DateTime
object (time adjusted for timezone)
Example:
let utc_time = (time.parse "2024-06-18 08:00") |
4. Time Component Retrieval Functions
General Description:
- Functions include:
year
,month
,weekday
,day
,hour
,minute
,second
,seconds
- Parameter Modes:
- No parameters: Get the corresponding component of the current time
- Single parameter (
DateTime
orString
): Get the corresponding component of the specified time
Return Value: Integer
Example:
time.month # => 6 (current month) |
5. Other Functionality Functions
time.sleep
- Pause Execution
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 | Integer or String |
Sleep duration (milliseconds or duration string like “1s”) |
Duration Units:
s
: seconds (e.g., “30s”)m
: minutes (e.g., “10m”)h
: hours (e.g., “2h”)d
: days (e.g., “1d”)
Return Value: None
Example:
time.sleep 1000 # Sleep for 1 second |
time.is_leap_year
- Check for Leap Year
Parameter Description:
Parameter Mode | Parameter Type | Description |
---|---|---|
No Parameters | - | Check if the current year is a leap year |
Single Parameter | Integer |
Check if the specified year is a leap year |
Return Value: Boolean
Example:
time.is_leap_year() # => false (2025 is not a leap year) |
time.from_map
- Create Time from Components
Parameter Description:
Parameter | Type | Description |
---|---|---|
1 | Map |
Structure containing year, month, day, hour, minute, second |
Return Value: DateTime
object
Example:
let m = { |
Comprehensive Usage Example
Calculate Remaining Workdays Countdown:
# Define target date |
Scheduled Task Example:
# Print time every 5 seconds |
Output:
15:30:00 |