Name

MochiKit.DateTime - "what time is it anyway?"

Synopsis

stringDate = toISOTimestamp(new Date());
dateObject = isoTimestamp(stringDate);

Description

Remote servers don't give you JavaScript Date objects, and they certainly don't want them from you, so you need to deal with string representations of dates and timestamps. MochiKit.Date does that.

Dependencies

None.

API Reference

Functions

isoDate(str):

Convert an ISO 8601 date (YYYY-MM-DD) to a Date object.

Availability:
Available in MochiKit 1.3.1+

isoTimestamp(str):

Convert any ISO 8601 [1] timestamp (or something reasonably close to it) to a Date object. Will accept the "de facto" form:

YYYY-MM-DD hh:mm:ss

or (the proper form):

YYYY-MM-DDThh:mm:ssZ

If a time zone designator ("Z" or "[+-]HH:MM") is not present, then the local timezone is used.

Availability:
Available in MochiKit 1.3.1+

toISOTime(date):

Convert a Date object to a string in the form of hh:mm:ss

Availability:
Available in MochiKit 1.3.1+

toISOTimestamp(date, realISO=false):

Convert a Date object to something that's ALMOST but not quite an ISO 8601 [1]_timestamp. If it was a proper ISO timestamp it would be:

YYYY-MM-DDThh:mm:ssZ

However, we see junk in SQL and other places that looks like this:

YYYY-MM-DD hh:mm:ss

So, this function returns the latter form, despite its name, unless you pass true for realISO.

Availability:
Available in MochiKit 1.3.1+

toISODate(date):

Convert a Date object to an ISO 8601 [1] date string (YYYY-MM-DD)

Availability:
Available in MochiKit 1.3.1+

americanDate(str):

Converts a MM/DD/YYYY date to a Date object

Availability:
Available in MochiKit 1.3.1+

toPaddedAmericanDate(date):

Converts a Date object to an MM/DD/YYYY date, e.g. 01/01/2001

Availability:
Available in MochiKit 1.3.1+

toAmericanDate(date):

Converts a Date object to an M/D/YYYY date, e.g. 1/1/2001

Availability:
Available in MochiKit 1.3.1+

See Also

[1](1, 2) W3C profile of ISO 8601: http://www.w3.org/TR/NOTE-datetime

Authors

Copyright

Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed free software; you can redistribute it and/or modify it under the terms of the MIT License or the Academic Free License v2.1.