--- parser3/src/classes/date.C 2008/02/14 10:11:16 1.78 +++ parser3/src/classes/date.C 2008/02/21 14:17:38 1.80 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_DATE_C="$Date: 2008/02/14 10:11:16 $"; +static const char * const IDENT_DATE_C="$Date: 2008/02/21 14:17:38 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -164,6 +164,14 @@ static void _sql_string(Request& r, Meth r.write_assign_lang(String(buf, size)); } +static void _gmt_string(Request& r, MethodParams&) { + VDate& vdate=GET_SELF(r, VDate); + + time_t when=vdate.get_time(); + + r.write_assign_lang(String(date_gmt_string(gmtime(&when)))); +} + static void _roll(Request& r, MethodParams& params) { VDate& vdate=GET_SELF(r, VDate); @@ -406,7 +414,7 @@ static void _unix_timestamp(Request& r, } } -static void _lastday(Request& r, MethodParams& params) { +static void _last_day(Request& r, MethodParams& params) { int year; int month; if(&r.get_self() == date_class) { @@ -442,9 +450,12 @@ MDate::MDate(): Methoded("date") { // ^date.sql-string[] add_native_method("sql-string", Method::CT_DYNAMIC, _sql_string, 0, 0); + // ^date.gmt-string[] + add_native_method("gmt-string", Method::CT_DYNAMIC, _gmt_string, 0, 0); + // ^date:lastday(year;month) // ^date.lastday[] - add_native_method("lastday", Method::CT_ANY, _lastday, 0, 2); + add_native_method("last-day", Method::CT_ANY, _last_day, 0, 2); // ^date.roll(year|month|day;+/- 1) add_native_method("roll", Method::CT_DYNAMIC, _roll, 2, 2);