util/datetime.lua
author Matthew Wild <mwild1@gmail.com>
Mon, 22 Mar 2010 17:06:15 +0000
changeset 2923 b7049746bd29
parent 1523 841d61be198f
child 3430 970690b3cb28
permissions -rw-r--r--
Update copyright headers for 2010
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1523
841d61be198f Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents: 921
diff changeset
     1
-- Prosody IM
2923
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 1523
diff changeset
     2
-- Copyright (C) 2008-2010 Matthew Wild
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 1523
diff changeset
     3
-- Copyright (C) 2008-2010 Waqas Hussain
519
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 248
diff changeset
     4
-- 
758
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 615
diff changeset
     5
-- This project is MIT/X11 licensed. Please see the
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 615
diff changeset
     6
-- COPYING file in the source package for more information.
519
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 248
diff changeset
     7
--
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 248
diff changeset
     8
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 248
diff changeset
     9
921
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    10
-- XEP-0082: XMPP Date and Time Profiles
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    11
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    12
local os_date = os.date;
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    13
local error = error;
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    14
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    15
module "datetime"
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    16
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    17
function date(t)
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    18
	return os_date("!%Y-%m-%d", t);
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    19
end
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    20
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    21
function datetime(t)
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    22
	return os_date("!%Y-%m-%dT%H:%M:%SZ", t);
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    23
end
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    24
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    25
function time(t)
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    26
	return os_date("!%H:%M:%S", t);
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    27
end
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    28
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    29
function legacy(t)
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    30
	return os_date("!%Y%m%dT%H:%M:%S", t);
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    31
end
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    32
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    33
function parse(s)
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    34
	error("datetime.parse: Not implemented"); -- TODO
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    35
end
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    36
f97d37a7d8a6 util.datetime: Allow specifying a time to format
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
    37
return _M;