(Natools.Static_Maps.S_Expressions.Templates.Dates
pure
(test-function T)
(extra-decl "\
type Main_Command is
(Error,
Year, Month, Day, Hour, Minute, Second,
Padded_Month, Padded_Day,
Padded_Hour, Padded_Minute, Padded_Second,
Day_Of_Week,
Big_Endian_Date, Little_Endian_Date,
Big_Endian_Time, Little_Endian_Time,
RFC_3339, With_Offset);")
(Main_Command
(hash-package Natools.Static_Maps.S_Expressions.Templates.Dates.Cmds)
(function Main)
(not-found Error)
(nodes
(Big_Endian_Date YYYYMMDD big-endian-date)
(Big_Endian_Time HHMMSS time big-endian-time)
(Day day)
(Day_Of_Week dow day-of-week)
(Hour hour)
(Little_Endian_Date DDMMYYYY little-endian-date)
(Little_Endian_Time SSMMHH little-endian-time)
(Minute minute)
(Month month)
(Padded_Day 0day padded-day)
(Padded_Hour 0hour padded-hour)
(Padded_Minute 0minute padded-minute)
(Padded_Month 0month padded-month)
(Padded_Second 0second padded-second)
(RFC_3339 rfc-3339)
(Second second)
(With_Offset with-offset in-zone)
(Year year)))
(Integer
(hash-package Natools.Static_Maps.S_Expressions.Templates.Dates.Zones)
(function To_Time_Offset)
(nodes
("+10 * 60 + 30" ACDT)
("+09 * 60 + 30" ACST)
("-03 * 60" ADT)
("+11 * 60" AEDT)
("+10 * 60" AEST)
("+04 * 60 + 30" AFT)
("-08 * 60" AKDT)
("-09 * 60" AKST)
("-03 * 60" ART)
("+09 * 60" AWDT)
("+08 * 60" AWST)
("-01 * 60" AZOST)
("+04 * 60" AZT)
("+08 * 60" BDT)
("+06 * 60" BIOT)
("-12 * 60" BIT)
("-04 * 60" BOT)
("-02 * 60" BRST)
("-03 * 60" BRT)
("+06 * 60" BTT)
("+02 * 60" CAT)
("+06 * 60 + 30" CCT)
("+02 * 60" CEDT)
("+02 * 60" CEST)
("+01 * 60" CET)
("+13 * 60 + 45" CHADT)
("+12 * 60 + 45" CHAST)
("+08 * 60" CHOT)
("+10 * 60" ChST)
("+10 * 60" CHUT)
("-08 * 60" CIST)
("+08 * 60" CIT)
("-10 * 60" CKT)
("-03 * 60" CLST)
("-04 * 60" CLT)
("-04 * 60" COST)
("-05 * 60" COT)
("+08 * 60" CT)
("-01 * 60" CVT)
("+08 * 60 + 45" CWST)
("+07 * 60" CXT)
("+07 * 60" DAVT)
("+10 * 60" DDUT)
("+01 * 60" DFT)
("-05 * 60" EASST)
("-06 * 60" EAST)
("+03 * 60" EAT)
("-04 * 60" EDT)
("+03 * 60" EEDT)
("+03 * 60" EEST)
("+02 * 60" EET)
("+00 * 60" EGST)
("-01 * 60" EGT)
("+09 * 60" EIT)
("+03 * 60" FET)
("+12 * 60" FJT)
("-03 * 60" FKST)
("-04 * 60" FKT)
("-02 * 60" FNT)
("-06 * 60" GALT)
("-09 * 60" GAMT)
("+04 * 60" GET)
("-03 * 60" GFT)
("+12 * 60" GILT)
("-09 * 60" GIT)
("0" GMT)
("-04 * 60" GYT)
("-09 * 60" HADT)
("+02 * 60" HAEC)
("-10 * 60" HAST)
("+08 * 60" HKT)
("+05 * 60" HMT)
("+07 * 60" HOVT)
("-10 * 60" HST)
("+07 * 60" ICT)
("+03 * 60" IDT)
("+03 * 60" IOT)
("+04 * 60 + 30" IRDT)
("+08 * 60" IRKT)
("+03 * 60 + 30" IRST)
("+09 * 60" JST)
("+06 * 60" KGT)
("+11 * 60" KOST)
("+07 * 60" KRAT)
("+09 * 60" KST)
("+14 * 60" LINT)
("+12 * 60" MAGT)
("-09 * 60 + 30" MART)
("+05 * 60" MAWT)
("-06 * 60" MDT)
("+01 * 60" MET)
("+02 * 60" MEST)
("+12 * 60" MHT)
("+11 * 60" MIST)
("-09 * 60 + 30" MIT)
("+06 * 60 + 30" MMT)
("+03 * 60" MSK)
("+04 * 60" MUT)
("+05 * 60" MVT)
("+08 * 60" MYT)
("+11 * 60" NCT)
("-02 * 60 + 30" NDT)
("+11 * 60 + 30" NFT)
("+05 * 60 + 45" NPT)
("-03 * 60 + 30" NST)
("-03 * 60 + 30" NT)
("-11 * 60" NUT)
("+13 * 60" NZDT)
("+12 * 60" NZST)
("+06 * 60" OMST)
("+05 * 60" ORAT)
("-07 * 60" PDT)
("-05 * 60" PET)
("+12 * 60" PETT)
("+10 * 60" PGT)
("+13 * 60" PHOT)
("+05 * 60" PKT)
("-02 * 60" PMDT)
("-03 * 60" PMST)
("+11 * 60" PONT)
("-03 * 60" PYST)
("-04 * 60" PYT)
("+04 * 60" RET)
("-03 * 60" ROTT)
("+11 * 60" SAKT)
("+04 * 60" SAMT)
("+02 * 60" SAST)
("+11 * 60" SBT)
("+04 * 60" SCT)
("+08 * 60" SGT)
("+05 * 60 + 30" SLST)
("+11 * 60" SRET)
("-03 * 60" SRT)
("+03 * 60" SYOT)
("-10 * 60" TAHT)
("+07 * 60" THA)
("+05 * 60" TFT)
("+05 * 60" TJT)
("+13 * 60" TKT)
("+09 * 60" TLT)
("+05 * 60" TMT)
("+13 * 60" TOT)
("+12 * 60" TVT)
("0" UCT)
("+08 * 60" ULAT)
("+02 * 60" USZ1)
("0" UTC)
("-02 * 60" UYST)
("-03 * 60" UYT)
("+05 * 60" UZT)
("-04 * 60 + 30" VET)
("+10 * 60" VLAT)
("+04 * 60" VOLT)
("+06 * 60" VOST)
("+11 * 60" VUT)
("+12 * 60" WAKT)
("+02 * 60" WAST)
("+01 * 60" WAT)
("+01 * 60" WEDT)
("+01 * 60" WEST)
("0" WET)
("+07 * 60" WIT)
("+08 * 60" WST)
("+09 * 60" YAKT)
("+05 * 60" YEKT)
("0" Z))))