package flare.query { /** * Utility class providing functions for manipulating Date * objects. These functions are intended for use by the * Fn operator. */ public class DateUtil { // ADDDATE()(v4.1.1) Add dates // ADDTIME()(v4.1.1) Add time // CONVERT_TZ()(v4.1.3) Convert from one timezone to another // CURDATE() Return the current date // CURRENT_DATE(), CURRENT_DATE Synonyms for CURDATE() // CURRENT_TIME(), CURRENT_TIME Synonyms for CURTIME() // CURTIME() Return the current time // DATE_ADD() Add two dates // DATE_FORMAT() Format date as specified // DATE_SUB() Subtract two dates // DATE()(v4.1.1) Extract the date part of a date or datetime expression public static function date(d:Date):Date{ return new Date(d.toLocaleDateString()); } // DATEDIFF()(v4.1.1) Subtract two dates // DAYNAME()(v4.1.21) Return the name of the weekday // DAYOFMONTH() Return the day of the month (1-31) // DAY()(v4.1.1) Synonym for DAYOFMONTH() public static function day(d:Date):int { return d.date; } // DAYOFWEEK() Return the weekday index of the argument // WEEKDAY() Return the weekday index public static function dayOfWeek(d:Date):int { return d.day; } // DAYOFYEAR() Return the day of the year (1-366) // EXTRACT Extract part of a date // FROM_DAYS() Convert a day number to a date // FROM_UNIXTIME() Format date as a UNIX timestamp // GET_FORMAT()(v4.1.1) Return a date format string // HOUR() Extract the hour public static function hour(d:Date):int { return d.hours; } // LAST_DAY(v4.1.1) Return the last day of the month for the argument // MAKEDATE()(v4.1.1) Create a date from the year and day of year // MAKETIME(v4.1.1) MAKETIME() // MICROSECOND()(v4.1.1) Return the microseconds from argument public static function microsecond(d:Date):int { return int(1000 * d.time) % 1000000; } // MINUTE() Return the minute from the argument public static function minute(d:Date):int { return d.minutes; } // MONTH() Return the month from the date passed public static function month(d:Date):int { return d.month; } // MONTHNAME()(v4.1.21) Return the name of the month // NOW() Return the current date and time // LOCALTIME(), LOCALTIME Synonym for NOW() // LOCALTIMESTAMP, LOCALTIMESTAMP()(v4.0.6) Synonym for NOW() // CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP Synonyms for NOW() public static function now():Date { return new Date(); } // PERIOD_ADD() Add a period to a year-month // PERIOD_DIFF() Return the number of months between periods // QUARTER() Return the quarter from a date argument // SEC_TO_TIME() Converts seconds to 'HH:MM:SS' format // SECOND() Return the second (0-59) public static function second(d:Date):int { return d.seconds; } // STR_TO_DATE()(v4.1.1) Convert a string to a date // SUBDATE() When invoked with three arguments a synonym for DATE_SUB() // SUBTIME()(v4.1.1) Subtract times // SYSDATE() Return the time at which the function executes // TIME_FORMAT() Format as time // TIME_TO_SEC() Return the argument converted to seconds // TIME()(v4.1.1) Extract the time portion of the expression passed // TIMEDIFF()(v4.1.1) Subtract time // TIMESTAMP()(v4.1.1) With a single argument, this function returns the date or datetime expression. With two arguments, the sum of the arguments // TIMESTAMPADD()(v5.0.0) Add an interval to a datetime expression // TIMESTAMPDIFF()(v5.0.0) Subtract an interval from a datetime expression // TO_DAYS() Return the date argument converted to days // UNIX_TIMESTAMP() Return a UNIX timestamp // TC_DATE()(v4.1.1) Return the current UTC date // UTC_TIME()(v4.1.1) Return the current UTC time // UTC_TIMESTAMP()(v4.1.1) Return the current UTC date and time // WEEK() Return the week number // WEEKOFYEAR()(v4.1.1) Return the calendar week of the date (1-53) // YEAR() Return the year public static function year(d:Date):int { return d.fullYear; } // YEARWEEK() Return the year and week } // end of class DateUtil }