1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

time: add new public functions for formatting

This commit is contained in:
Enrico Lefass
2019-11-01 00:13:03 +01:00
committed by Alexander Medvednikov
parent f8f7881f89
commit a691cc857e
2 changed files with 343 additions and 31 deletions

View File

@ -50,4 +50,188 @@ fn test_unix() {
//assert t.second == 32 // TODO broken
}
fn test_format_ss() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '11.07.1980 21:23:42' == t.get_fmt_str(.dot,
.hhmmss24,
.ddmmyyyy)
}
fn test_format() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '11.07.1980 21:23' == t.get_fmt_str(.dot,
.hhmm24,
.ddmmyyyy)
}
fn test_hhmm() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '21:23' == t.get_fmt_time_str(.hhmm24)
}
fn test_hhmm12() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '9:23 p.m.' == t.get_fmt_time_str(.hhmm12)
}
fn test_hhmmss() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '21:23:42' == t.get_fmt_time_str(.hhmmss24)
}
fn test_ymmdd() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '1980-07-11' == t.get_fmt_date_str(.hyphen,
.yyyymmdd)
}
fn test_ddmmy() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '11.07.1980' == t.get_fmt_date_str(.dot,
.ddmmyyyy)
}
fn test_md() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert 'Jul 11' == t.get_fmt_date_str(.space,
.mmmd)
}
fn test_get_fmt_time_str() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '21:23:42' == t.get_fmt_time_str(.hhmmss24)
assert '21:23' == t.get_fmt_time_str(.hhmm24)
assert '9:23:42 p.m.' == t.get_fmt_time_str(.hhmmss12)
assert '9:23 p.m.' == t.get_fmt_time_str(.hhmm12)
}
fn test_get_fmt_date_str() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
assert '11.07.1980' == t.get_fmt_date_str(.dot,
.ddmmyyyy)
assert '11/07/1980' == t.get_fmt_date_str(.slash,
.ddmmyyyy)
assert '11-07-1980' == t.get_fmt_date_str(.hyphen,
.ddmmyyyy)
assert '11 07 1980' == t.get_fmt_date_str(.space,
.ddmmyyyy)
assert '07.11.1980' == t.get_fmt_date_str(.dot,
.mmddyyyy)
assert '07/11/1980' == t.get_fmt_date_str(.slash,
.mmddyyyy)
assert '07-11-1980' == t.get_fmt_date_str(.hyphen,
.mmddyyyy)
assert '07 11 1980' == t.get_fmt_date_str(.space,
.mmddyyyy)
assert '11.07.80' == t.get_fmt_date_str(.dot,
.ddmmyy)
assert '11/07/80' == t.get_fmt_date_str(.slash,
.ddmmyy)
assert '11-07-80' == t.get_fmt_date_str(.hyphen,
.ddmmyy)
assert '11 07 80' == t.get_fmt_date_str(.space,
.ddmmyy)
assert '07.11.80' == t.get_fmt_date_str(.dot,
.mmddyy)
assert '07/11/80' == t.get_fmt_date_str(.slash,
.mmddyy)
assert '07-11-80' == t.get_fmt_date_str(.hyphen,
.mmddyy)
assert '07 11 80' == t.get_fmt_date_str(.space,
.mmddyy)
assert 'Jul 11' == t.get_fmt_date_str(.space,
.mmmd)
assert 'Jul 11' == t.get_fmt_date_str(.space,
.mmmdd)
assert 'Jul 11 1980' == t.get_fmt_date_str(.space,
.mmmddyyyy)
assert '1980-07-11' == t.get_fmt_date_str(.hyphen,
.yyyymmdd)
}
fn test_get_fmt_str() {
t := time.Time{ year: 1980,
month: 7,
day: 11,
hour: 21,
minute: 23,
second: 42,
uni: 0 }
// Since get_fmt_time_str and get_fmt_date_str do have comprehensive
// tests I don't want to exaggerate here with all possible
// combinations.
assert '11.07.1980 21:23:42' == t.get_fmt_str(.dot,
.hhmmss24,
.ddmmyyyy)
}