mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
.. | ||
misc | ||
chrono_test.v | ||
chrono.c.v | ||
chrono.v | ||
custom_format_test.v | ||
duration_test.v | ||
format.v | ||
operator_test.v | ||
operator.v | ||
parse_test.v | ||
parse.c.v | ||
parse.js.v | ||
parse.v | ||
private_test.v | ||
README.md | ||
relative_test.v | ||
stopwatch_test.v | ||
stopwatch.v | ||
time_addition_test.v | ||
time_darwin.c.v | ||
time_format_test.v | ||
time_js.js.v | ||
time_linux.c.v | ||
time_nix.c.v | ||
time_solaris.c.v | ||
time_test.v | ||
time_windows.c.v | ||
time.c.v | ||
time.js.v | ||
time.v | ||
unix.v | ||
Y2K38_test.v |
Description:
V's time
module, provides utilities for working with time and dates:
- parsing of time values expressed in one of the commonly used standard time/date formats
- formatting of time values
- arithmetic over times/durations
- converting between local time and UTC (timezone support)
- stop watches for accurately measuring time durations
- sleeping for a period of time
Examples:
You can see the current time. See:
import time
println(time.now())
time.Time
values can be compared, see:
import time
const time_to_test = time.Time{
year: 1980
month: 7
day: 11
hour: 21
minute: 23
second: 42
microsecond: 123456
unix: 332198622
}
println(time_to_test.format())
assert '1980-07-11 21:23' == time_to_test.format()
assert '1980-07-11 21:23:42' == time_to_test.format_ss()
assert '1980-07-11 21:23:42.123' == time_to_test.format_ss_milli()
assert '1980-07-11 21:23:42.123456' == time_to_test.format_ss_micro()
You can also parse strings to produce time.Time values, see:
import time
s := '2018-01-27 12:48:34'
t := time.parse(s) or { panic('failing format: $s | err: $err') }
println(t)
println(t.unix)
V's time module also has these parse methods:
fn parse(s string) !Time
fn parse_iso8601(s string) !Time
fn parse_rfc2822(s string) !Time
fn parse_rfc3339(s string) !Time
Another very useful feature of the time
module is the stop watch,
for when you want to measure short time periods, elapsed while you
executed other tasks. See:
import time
fn do_something() {
time.sleep(510 * time.millisecond)
}
fn main() {
sw := time.new_stopwatch()
do_something()
println('Note: do_something() took: $sw.elapsed().milliseconds() ms')
}