annotate date.rhope @ 158:0e06f29aa83d

Small tweak to String Cat balance
author Mike Pavone <pavone@retrodev.com>
date Thu, 23 Dec 2010 16:16:31 -0500
parents 429b5f441381
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 //Note that the following code does not currently take into account leap seconds
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 Days From Secs[secs:days,secs left]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 secs per day <- [[60]*[60]]*[24]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 days <- [secs]/[secs per day]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 secs left <- [secs]%[secs per day]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 //This doesn't take into account the mod 100 rule
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
11 Year From Unix Days[days:year,day in year]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13 block days <- [[365]*[4]]+[1]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14 base year <- [1970]+[[[days]/[block days]]*[4]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15 after base <- [days]%[block days]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
16 If[[after base] > [365]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
17 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
18 year <- [[base year]+[1]]+[ [[after base]-[366]]/[365] ]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
19 day in year <- [[after base]-[366]]%[365]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
20 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
21 year <- Val[base year]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
22 day in year <- Val[after base]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
23 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
24 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
25
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
26 Is Leap Year[year:is,is not]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
27 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
28 is <-If[[[year]%[400]]=[0]] {}
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
29 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
30 ,is not <- If[[[year]%[100]]=[0]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
31 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
32 is,is not <- If[[[year]%[4]]=[0]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
33 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
34 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
35 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
36
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
37 _Month From Day[day,days,current:month,day in month]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
38 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
39 curdays <- [days]Index[current]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
40 If[[day]<[curdays]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
41 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
42 month <- current
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
43 day in month <- day
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
44 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
45 month,day in month <- _Month From Day[[day]-[curdays], days, [current]+[1]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
46 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
47 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
48
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
49 Month From Day[day,year:month,day in month]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
50 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
51 base <- (31,28,31,30,31,30,31,31,30,31,30,31)
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
52 Is Leap Year[year]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
53 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
54 days <- [base]Set[1, 29]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
55 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
56 days <- Val[base]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
57 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
58 month,day in month <- _Month From Day[day, days, 0]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
59 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
60
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
61 Blueprint Date Time
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
62 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
63 Long:Fifty Micros
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
64 Word:Year
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
65 Byte:Month
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
66 Byte:Day
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
67 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
68
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
69 Date Time From Unix[unix:date]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
70 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
71 ,sec in day <- Days From Secs[unix]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
72 { year <- Year From Unix Days[~] {}
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
73 { month, day <- Month From Day[~, year] }}
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
74 date <- [[[[Build["Date Time"]]Fifty Micros <<[[sec in day]*[20000]]]Year <<[year]]Month <<[[month]+[1]]]Day <<[[day]+[1]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
75 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
76
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
77 Now[:date]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
78 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
79 date <- Date Time From Unix[Unix Time[]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
80 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
81
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
82 Seconds@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
83 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
84 out <- [[[date]Fifty Micros >>]/[20000]]%[60]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
85 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
86
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
87 Milliseconds@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
88 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
89 out <- [[[date]Fifty Micros >>]/[20]]%[60000]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
90 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
91
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
92 Microseconds@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
93 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
94 out <- [[[date]Fifty Micros >>]%[20]]*[50]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
95 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
96
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
97 Hours@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
98 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
99 out <- [[date]Fifty Micros >>]/[[[20000]*[60]]*[60]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
100 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
101
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
102 Minutes@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
103 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
104 out <- [[[date]Fifty Micros >>]/[[20000]*[60]]]%[60]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
105 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
106
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
107 Day in Year@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
108 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
109 base day <- [(0,0,31,59,90,120,151,181,212,243,273,304,334)]Index[[date]Month >>]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
110 ,noleap <- If[[[date]Month >>] > [2]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
111 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
112 ,noleap <- Is Leap Year[[date]Year >>]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
113 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
114 out <- [base day] + [[date]Day >>]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
115 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
116 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
117 Val[noleap]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
118 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
119 out <- [[base day] + [[date]Day >>]]-[1]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
120 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
121 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
122
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
123 //Gregorian only for the moment
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
124 //Sunday = 0, Saturday = 6
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
125 //Uses Zeller's algorithm
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
126 Day of Week@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
127 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
128 If[[[date]Month >>] < [3]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
129 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
130 zmonth <- [[date]Month >>]+[12]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
131 zyear <- [[date]Year >>]-[1]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
132 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
133 zmonth <- [date]Month >>
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
134 zyear <- [date]Year >>
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
135 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
136 [zyear]Slice@String[2]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
137 { century <- <String@Whole Number[~] }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
138 { y <- <String@Whole Number[~] }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
139
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
140 a <- [[26]* [[zmonth]+[1]]]/[10]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
141 b <- [[5]*[y]]/[4]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
142 c <- [century]/[4]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
143 d <- [2]*[century]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
144
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
145 out <- [[-[+[+[+[[date]Day >>, a], b], c], d]] + [6]] % [7]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
146 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
147
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
148 Format@Date Time[date,format:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
149 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
150 If[[format]=[""]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
151 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
152 out <- ""
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
153 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
154 months <- ("", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
155 days <- ("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
156 cur,rest format <- [format]Slice[1]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
157 If[[cur] = ["Y"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
158 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
159 piece <- [date]Year >>
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
160 }{ If[[cur] = ["M"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
161 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
162 piece <- [date]Month >>
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
163 }{ If[[cur] = ["N"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
164 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
165 tpiece <- [months]Index[[date]Month >>]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
166 }{ If[[cur] = ["B"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
167 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
168 tpiece <- [[months]Index[[date]Month >>]]Slice[3]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
169 }{ If[[cur] = ["D"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
170 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
171 ppiece <- [date]Day >>
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
172 }{ If[[cur] = ["d"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
173 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
174 piece <- [date]Day >>
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
175 }{ If[[cur] = ["n"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
176 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
177 tpiece <- [days]Index[[date]Day of Week]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
178 }{ If[[cur] = ["b"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
179 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
180 tpiece <- [[days]Index[[date]Day of Week]]Slice[3]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
181 }{ If[[cur] = ["w"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
182 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
183 piece <- Day of Week[date]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
184 }{ If[[cur] = ["h"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
185 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
186 hour <- [date]Hours
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
187 If[[hour] > [12]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
188 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
189 ppiece <- [hour]-[12]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
190 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
191 If[[hour] = [0]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
192 { ppiece <- 12 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
193 { ppiece <- Val[hour] }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
194 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
195 }{ If[[cur] = ["H"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
196 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
197 ppiece <- Hours[date]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
198 }{ If[[cur] = ["m"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
199 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
200 ppiece <- Minutes[date]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
201 }{ If[[cur] = ["s"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
202 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
203 ppiece <- Seconds[date]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
204 }{ If[[cur] = ["a"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
205 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
206 If[[[date]Hours] < [12]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
207 { tpiece <- "AM" }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
208 { tpiece <- "PM" }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
209 }{ If[[cur] = ["t"]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
210 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
211 ppiece <- Milliseconds[date]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
212 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
213 tpiece <- Val[cur]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
214 }}}}}}}}}}}}}}}
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
215
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
216 sppiece <- <Whole Number@String[ppiece]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
217
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
218 If[[[sppiece]Length] < [2]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
219 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
220 tpiece <- ["0"]Append[sppiece]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
221 }{
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
222 tpiece <- Val[sppiece]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
223 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
224 tpiece <- <Whole Number@String[piece]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
225 out <- [tpiece]Append[[date]Format[rest format]]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
226
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
227 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
228 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
229
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
230 RFC 2822@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
231 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
232 out <- [date]Format["d B Y H:m:s -0000"]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
233 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
234
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
235 //Preferred format for HTTP as specified by RFC 2616
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
236 RFC 2616@Date Time[date:out]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
237 {
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
238 out <- [[date]Format["b, D B Y H:m:s"]]Append[" GMT"]
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
239 }
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
240
429b5f441381 Added Date Time object
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
241