* FreeBSD and MacOSX timegm() cannot handle years before 1900.
*/
-#define NJS_ISO_DATE_TIME_LEN sizeof("+001970-09-28T12:00:00.000Z")
+#define NJS_ISO_DATE_TIME_LEN sizeof("+001970-09-28T12:00:00.000Z")
+
+#define NJS_HTTP_DATE_TIME_LEN sizeof("Mon, 28 Sep 1970 12:00:00 GMT")
#define NJS_DATE_TIME_LEN \
sizeof("Mon Sep 28 1970 12:00:00 GMT+0600 (XXXXX)")
{
double time;
time_t clock;
- u_char buf[NJS_DATE_TIME_LEN], *p;
+ u_char buf[NJS_HTTP_DATE_TIME_LEN], *p;
struct tm tm;
static const char *week[] = { "Sun", "Mon", "Tue", "Wed",
clock = time / 1000;
gmtime_r(&clock, &tm);
- p = njs_sprintf(buf, buf + NJS_DATE_TIME_LEN,
- "%s %s %02d %4d %02d:%02d:%02d GMT",
- week[tm.tm_wday], month[tm.tm_mon], tm.tm_mday,
+ p = njs_sprintf(buf, buf + NJS_HTTP_DATE_TIME_LEN,
+ "%s, %02d %s %4d %02d:%02d:%02d GMT",
+ week[tm.tm_wday], tm.tm_mday, month[tm.tm_mon],
tm.tm_year + 1900, tm.tm_hour, tm.tm_min, tm.tm_sec);
return njs_string_new(vm, &vm->retval, buf, p - buf, p - buf);
njs_str("18:45:00 GMT+0000") },
{ njs_str("var d = new Date(2011, 5, 24, 18, 45); d.toUTCString()"),
- njs_str("Fri Jun 24 2011 18:45:00 GMT") },
+ njs_str("Fri, 24 Jun 2011 18:45:00 GMT") },
{ njs_str("var d = new Date(2011, 5, 24, 18, 45, 12, 625);"
"d.toISOString()"),
njs_str("18:45:00 GMT+1245") },
{ njs_str("var d = new Date(2011, 5, 24, 18, 45); d.toUTCString()"),
- njs_str("Fri Jun 24 2011 06:00:00 GMT") },
+ njs_str("Fri, 24 Jun 2011 06:00:00 GMT") },
{ njs_str("var d = new Date(2011, 5, 24, 18, 45, 12, 625);"
"d.toISOString()"),