Software /
code /
prosody
Comparison
util/datetime.lua @ 6777:5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 21 Feb 2015 10:36:37 +0100 |
parent | 5776:bd0ff8ae98a8 |
child | 7259:d8300985f2bb |
comparison
equal
deleted
inserted
replaced
6774:3965662ae091 | 6777:5de6b93d0190 |
---|---|
13 local os_time = os.time; | 13 local os_time = os.time; |
14 local os_difftime = os.difftime; | 14 local os_difftime = os.difftime; |
15 local error = error; | 15 local error = error; |
16 local tonumber = tonumber; | 16 local tonumber = tonumber; |
17 | 17 |
18 module "datetime" | 18 local _ENV = nil; |
19 | 19 |
20 function date(t) | 20 local function date(t) |
21 return os_date("!%Y-%m-%d", t); | 21 return os_date("!%Y-%m-%d", t); |
22 end | 22 end |
23 | 23 |
24 function datetime(t) | 24 local function datetime(t) |
25 return os_date("!%Y-%m-%dT%H:%M:%SZ", t); | 25 return os_date("!%Y-%m-%dT%H:%M:%SZ", t); |
26 end | 26 end |
27 | 27 |
28 function time(t) | 28 local function time(t) |
29 return os_date("!%H:%M:%S", t); | 29 return os_date("!%H:%M:%S", t); |
30 end | 30 end |
31 | 31 |
32 function legacy(t) | 32 local function legacy(t) |
33 return os_date("!%Y%m%dT%H:%M:%S", t); | 33 return os_date("!%Y%m%dT%H:%M:%S", t); |
34 end | 34 end |
35 | 35 |
36 function parse(s) | 36 local function parse(s) |
37 if s then | 37 if s then |
38 local year, month, day, hour, min, sec, tzd; | 38 local year, month, day, hour, min, sec, tzd; |
39 year, month, day, hour, min, sec, tzd = s:match("^(%d%d%d%d)%-?(%d%d)%-?(%d%d)T(%d%d):(%d%d):(%d%d)%.?%d*([Z+%-]?.*)$"); | 39 year, month, day, hour, min, sec, tzd = s:match("^(%d%d%d%d)%-?(%d%d)%-?(%d%d)T(%d%d):(%d%d):(%d%d)%.?%d*([Z+%-]?.*)$"); |
40 if year then | 40 if year then |
41 local time_offset = os_difftime(os_time(os_date("*t")), os_time(os_date("!*t"))); -- to deal with local timezone | 41 local time_offset = os_difftime(os_time(os_date("*t")), os_time(os_date("!*t"))); -- to deal with local timezone |
52 return os_time({year=year, month=month, day=day, hour=hour, min=min, sec=sec, isdst=false}); | 52 return os_time({year=year, month=month, day=day, hour=hour, min=min, sec=sec, isdst=false}); |
53 end | 53 end |
54 end | 54 end |
55 end | 55 end |
56 | 56 |
57 return _M; | 57 return { |
58 date = date; | |
59 datetime = datetime; | |
60 time = time; | |
61 legacy = legacy; | |
62 parse = parse; | |
63 }; |