As3 常用日期工具

package com.lj.utils   
{   
    import mx.controls.DateField;   
    import mx.controls.dataGridClasses.DataGridColumn;   
    import mx.formatters.DateFormatter;   
  
    /**  
     * <p>Title:日期时间工具类 </p>  
     * <p>Description:提供时间日期的一些to string 或  string to 的操作</p>  
     * <p>Copyright: 个人所有</p>  
     * <p>Company: 刘军</p>  
     * @author 刘军 TomLiu  
     * @version 1.0 LastUpdata: 2012-12-29  
     */  
    public class DateTimeUtils   
    {   
  
        public static const MILLISECOND:Number=1;   
        public static const SECOND:Number=MILLISECOND * 1000;   
        public static const MINUTE:Number=SECOND * 60;   
        public static const HOUR:Number=MINUTE * 60;   
        public static const DAY:Number=HOUR * 24;   
        public static const WEEK:Number=DAY * 7;   
        public static const CHINESE_DATE_FORMAT:String="YYYY-MM-DD";   
        public static const CHINESE_DATETIME_FORMAT:String="YYYY-MM-DD";   
  
  
  
        /**  
         * 字符串转换成日期类型(使用mx.controls.DateField类)  
         * @param dateString  
         * @param formatString  
         * @return   
         */  
        public static function stringToDate(dateString:String, formatString:String=CHINESE_DATE_FORMAT):Date   
        {   
            return DateField.stringToDate(dateString,formatString);   
        }   
           
        /**  
         * 日期转换成字符串类型(使用mx.controls.DateField类)  
         * @param date  
         * @param formatString  
         * @return   
         */  
        public static function dateToString(date:Date,formatString:String=CHINESE_DATE_FORMAT):String{   
            return DateField.dateToString(date,formatString);   
        }   
  
        /**  
         * 格式化时间YYYY-MM-DD  
         * @param date  
         * @param formatString  
         * @return  
         */  
        public static function formatDateTime(date:Date, formatString:String=CHINESE_DATE_FORMAT):String   
        {   
  
            //需要as3corelib.swc如果没有可以直接使用 :return dateToString(data,formatString);   
            var dateFormater:DateFormatter=new DateFormatter();   
            dateFormater.formatString=formatString;   
            return dateFormater.format(date);   
        }   
  
        /**  
         * 格式化时间YYYY-MM-DD HH:NN:SS  
         * @param date  
         * @param formatString  
         * @return  
         */  
        public static function formatFullDateTime(date:Date, formatString:String=CHINESE_DATETIME_FORMAT):String   
        {   
            //需要as3corelib.swc如果没有可以直接使用 :return dateToString(data,formatString);   
            var dateFormater:DateFormatter=new DateFormatter();   
            dateFormater.formatString=formatString;   
            return dateFormater.format(date);   
        }   
  
        /**  
         * 为DataGridColumn提供时间格式化的labelFunction  
         *  
         * @param item  
         * @param column  
         * @return  
         *  
         */  
        public static function formatDateForDataGridColumn(item:Object, column:DataGridColumn):String   
        {   
  
            return formatDateTime(item[column.dataField], CHINESE_DATE_FORMAT);   
        }   
  
        /**  
         * 为DataGridColumn提供时间格式化的labelFunction  
         *  
         * @param item  
         * @param column  
         * @return  
         *  
         */  
        public static function formatDateTimeForDataGridColumn(item:Object, column:DataGridColumn):String   
        {   
  
            return formatDateTime(item[column.dataField], CHINESE_DATETIME_FORMAT);   
        }   
  
        /**  
         * 给制定时间添加天数或减少天数  
         * @param date  
         * @param addDay  
         * @return  
         *  
         */  
        public static function addDaysByDateTime(date:Date, addDay:Number):Date   
        {   
            return new Date(date.getTime() + addDay * DAY);   
        }   
           
        /**  
         * 取下一天  
         */  
        public static function  getNextDay(currentDate:Date):Date{   
            return addDaysByDateTime(currentDate,1);   
        }   
           
        /**  
         * 取上一天  
         */  
        public static function  getLastDay(currentDate:Date):Date{   
            return addDaysByDateTime(currentDate,-1);   
        }   
  
        /**  
         * 取下一个月  
         */  
        public static function getNextMonth(currentDate:Date):Date   
        {   
            var returnDate:Date=new Date(currentDate.getTime());   
            returnDate.setMonth(returnDate.getMonth() + 1, returnDate.getDate());   
            return returnDate;   
        }   
           
        /**  
         * 取上一个月  
         */  
        public static function getLastMonth(currentDate:Date):Date   
        {   
            var returnDate:Date=new Date(currentDate.getTime());   
            returnDate.setMonth(returnDate.getMonth() - 1, returnDate.getDate());   
            return returnDate;   
        }   
  
        /**  
         * 取下一个年  
         */  
        public static function getNextYear(currentDate:Date):Date   
        {   
            var returnDate:Date=new Date(currentDate.getTime());   
            returnDate.setFullYear(returnDate.getFullYear() + 1);   
            return returnDate;   
        }   
  
        /**  
         * 取上一个年  
         */  
        public static function getLastYear(currentDate:Date):Date   
        {   
            var returnDate:Date=new Date(currentDate.getTime());   
            returnDate.setFullYear(returnDate.getFullYear() - 1);   
            return returnDate;   
        }   
  
  
        /**  
         * 取当月月底  
         */  
        public static function getFristDayOfMonth(currentDate:Date):Date   
        {   
            currentDate.setMonth(currentDate.getMonth(), 1); //下个月的第一天,也就是下个月1号   
            return currentDate;   
        }   
           
        /**  
         * 取当月月底  
         */  
        public static function getLastDayOfMonth(currentDate:Date):Date   
        {   
            currentDate.setMonth(currentDate.getMonth() + 1, 1); //下个月的第一天,也就是下个月1号   
            currentDate.setDate(currentDate.getDate() - 1); //下个月1号之前1天,也就是本月月底   
            return currentDate;   
        }   
           
  
        /**  
         * 获取日期的中文表示方式:例如星期一星期二之类的。(注意0表示星期天)  
         * @param currentDate  
         * @return  
         */  
        public static function getChineseDay(currentDate:Date):String   
        {   
            switch (currentDate.getDay())   
            {   
                case 0:   
                    return "星期日";   
  
                case 1:   
                    return "星期一";   
  
                case 2:   
                    return "星期二";   
  
                case 3:   
                    return "星期三";   
  
                case 4:   
                    return "星期四";   
  
                case 5:   
                    return "星期五";   
  
                case 6:   
                    return "星期六";   
  
                default:   
                    return "";   
            }   
        }   
  
        /**  
         * 获取日期的中文表示方式:例如星期一星期二之类的。(注意0表示星期天)  
         * @param currentDate  
         * @return  
         */  
        public static function getEnglishDay(currentDate:Date):String   
        {   
            switch (currentDate.getDay())   
            {   
                case 0:   
                    return "Sunday";   
  
                case 1:   
                    return "Monday";   
  
                case 2:   
                    return "Tuesday";   
  
                case 3:   
                    return "Wednesday";   
  
                case 4:   
                    return "Thursday";   
  
                case 5:   
                    return "Friday";   
  
                case 6:   
                    return "Saturday";   
  
                default:   
                    return "";   
            }   
        }   
  
  
    }   
}  

  

原文地址:https://www.cnblogs.com/diulela/p/3718459.html