UNPKG

nebulab-dropbox

Version:
21 lines (19 loc) 990 B
# Workarounds for date parsing inconsistencies across platforms. if (new Date('Fri, 31 Jan 2042 21:01:05 +0000')).valueOf() is 2274814865000 Dropbox.Util.parseDate = (dateString) -> new Date dateString else if Date.parse('Fri, 31 Jan 2042 21:01:05 +0000') is 2274814865000 Dropbox.Util.parseDate = (dateString) -> new Date(Date.parse(dateString)) else # Safari needs manual date parsing. do -> parseDateRe = /^\w+\, (\d+) (\w+) (\d+) (\d+)\:(\d+)\:(\d+) (\+\d+|UTC|GMT)$/ # Month names from http://tools.ietf.org/html/rfc2822#page-14 parseDateMonths = Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 Dropbox.Util.parseDate = (dateString) -> return NaN unless match = parseDateRe.exec dateString new Date(Date.UTC(parseInt(match[3]), parseDateMonths[match[2]], parseInt(match[1]), parseInt(match[4]), parseInt(match[5]), parseInt(match[6]), 0))