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
}