util/datetime.lua
author Matthew Wild <mwild1@gmail.com>
Fri, 10 Jul 2009 03:11:45 +0100
changeset 1523 841d61be198f
parent 921 f97d37a7d8a6
child 2923 b7049746bd29
permissions -rw-r--r--
Remove version number from copyright headers
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
760
90ce865eebd8 Update copyright notices for 2009
Matthew Wild <mwild1@gmail.com>
parents: 759
diff changeset
     2
-- Copyright (C) 2008-2009 Matthew Wild
90ce865eebd8 Update copyright notices for 2009
Matthew Wild <mwild1@gmail.com>
parents: 759
diff changeset
     3
-- Copyright (C) 2008-2009 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;