@@ -97,7 +97,12 @@ function pad (number, digits) {
97
97
98
98
function dateToString ( date ) {
99
99
var offset = - date . getTimezoneOffset ( )
100
- var ret = pad ( date . getFullYear ( ) , 4 ) + '-' +
100
+
101
+ var year = date . getFullYear ( )
102
+ var isBCYear = year < 1
103
+ if ( isBCYear ) year = Math . abs ( year ) + 1 // negative years are 1 off their BC representation
104
+
105
+ var ret = pad ( year , 4 ) + '-' +
101
106
pad ( date . getMonth ( ) + 1 , 2 ) + '-' +
102
107
pad ( date . getDate ( ) , 2 ) + 'T' +
103
108
pad ( date . getHours ( ) , 2 ) + ':' +
@@ -110,19 +115,27 @@ function dateToString (date) {
110
115
offset *= - 1
111
116
} else { ret += '+' }
112
117
113
- return ret + pad ( Math . floor ( offset / 60 ) , 2 ) + ':' + pad ( offset % 60 , 2 )
118
+ ret += pad ( Math . floor ( offset / 60 ) , 2 ) + ':' + pad ( offset % 60 , 2 )
119
+ if ( isBCYear ) ret += ' BC'
120
+ return ret
114
121
}
115
122
116
123
function dateToStringUTC ( date ) {
117
- var ret = pad ( date . getUTCFullYear ( ) , 4 ) + '-' +
124
+ var year = date . getUTCFullYear ( )
125
+ var isBCYear = year < 1
126
+ if ( isBCYear ) year = Math . abs ( year ) + 1 // negative years are 1 off their BC representation
127
+
128
+ var ret = pad ( year , 4 ) + '-' +
118
129
pad ( date . getUTCMonth ( ) + 1 , 2 ) + '-' +
119
130
pad ( date . getUTCDate ( ) , 2 ) + 'T' +
120
131
pad ( date . getUTCHours ( ) , 2 ) + ':' +
121
132
pad ( date . getUTCMinutes ( ) , 2 ) + ':' +
122
133
pad ( date . getUTCSeconds ( ) , 2 ) + '.' +
123
134
pad ( date . getUTCMilliseconds ( ) , 3 )
124
135
125
- return ret + '+00:00'
136
+ ret += '+00:00'
137
+ if ( isBCYear ) ret += ' BC'
138
+ return ret
126
139
}
127
140
128
141
function normalizeQueryConfig ( config , values , callback ) {
0 commit comments