DateTimeUtils 日期时间工具类 (AS3,Flex3)

  1. package com.lj.utils   
  2. {   
  3.     import mx.controls.DateField;   
  4.     import mx.controls.dataGridClasses.DataGridColumn;   
  5.     import mx.formatters.DateFormatter;   
  6.   
  7.     /**  
  8.      * <p>Title:日期时间工具类 </p>  
  9.      * <p>Description:提供时间日期的一些to string 或  string to 的操作</p>  
  10.      * <p>Copyright: 个人所有</p>  
  11.      * <p>Company: 刘军</p>  
  12.      * @author 刘军 TomLiu  
  13.      * @version 1.0 LastUpdata: 2012-12-29  
  14.      */  
  15.     public class DateTimeUtils   
  16.     {   
  17.   
  18.         public static const MILLISECOND:Number=1;   
  19.         public static const SECOND:Number=MILLISECOND * 1000;   
  20.         public static const MINUTE:Number=SECOND * 60;   
  21.         public static const HOUR:Number=MINUTE * 60;   
  22.         public static const DAY:Number=HOUR * 24;   
  23.         public static const WEEK:Number=DAY * 7;   
  24.         public static const CHINESE_DATE_FORMAT:String="YYYY-MM-DD";   
  25.         public static const CHINESE_DATETIME_FORMAT:String="YYYY-MM-DD";   
  26.   
  27.   
  28.   
  29.         /**  
  30.          * 字符串转换成日期类型(使用mx.controls.DateField类)  
  31.          * @param dateString  
  32.          * @param formatString  
  33.          * @return   
  34.          */  
  35.         public static function stringToDate(dateString:String, formatString:String=CHINESE_DATE_FORMAT):Date   
  36.         {   
  37.             return DateField.stringToDate(dateString,formatString);   
  38.         }   
  39.            
  40.         /**  
  41.          * 日期转换成字符串类型(使用mx.controls.DateField类)  
  42.          * @param date  
  43.          * @param formatString  
  44.          * @return   
  45.          */  
  46.         public static function dateToString(date:Date,formatString:String=CHINESE_DATE_FORMAT):String{   
  47.             return DateField.dateToString(date,formatString);   
  48.         }   
  49.   
  50.         /**  
  51.          * 格式化时间YYYY-MM-DD  
  52.          * @param date  
  53.          * @param formatString  
  54.          * @return  
  55.          */  
  56.         public static function formatDateTime(date:Date, formatString:String=CHINESE_DATE_FORMAT):String   
  57.         {   
  58.   
  59.             //需要as3corelib.swc如果没有可以直接使用 :return dateToString(data,formatString);   
  60.             var dateFormater:DateFormatter=new DateFormatter();   
  61.             dateFormater.formatString=formatString;   
  62.             return dateFormater.format(date);   
  63.         }   
  64.   
  65.         /**  
  66.          * 格式化时间YYYY-MM-DD HH:NN:SS  
  67.          * @param date  
  68.          * @param formatString  
  69.          * @return  
  70.          */  
  71.         public static function formatFullDateTime(date:Date, formatString:String=CHINESE_DATETIME_FORMAT):String   
  72.         {   
  73.             //需要as3corelib.swc如果没有可以直接使用 :return dateToString(data,formatString);   
  74.             var dateFormater:DateFormatter=new DateFormatter();   
  75.             dateFormater.formatString=formatString;   
  76.             return dateFormater.format(date);   
  77.         }   
  78.   
  79.         /**  
  80.          * 为DataGridColumn提供时间格式化的labelFunction  
  81.          *  
  82.          * @param item  
  83.          * @param column  
  84.          * @return  
  85.          *  
  86.          */  
  87.         public static function formatDateForDataGridColumn(item:Object, column:DataGridColumn):String   
  88.         {   
  89.   
  90.             return formatDateTime(item[column.dataField], CHINESE_DATE_FORMAT);   
  91.         }   
  92.   
  93.         /**  
  94.          * 为DataGridColumn提供时间格式化的labelFunction  
  95.          *  
  96.          * @param item  
  97.          * @param column  
  98.          * @return  
  99.          *  
  100.          */  
  101.         public static function formatDateTimeForDataGridColumn(item:Object, column:DataGridColumn):String   
  102.         {   
  103.   
  104.             return formatDateTime(item[column.dataField], CHINESE_DATETIME_FORMAT);   
  105.         }   
  106.   
  107.         /**  
  108.          * 给制定时间添加天数或减少天数  
  109.          * @param date  
  110.          * @param addDay  
  111.          * @return  
  112.          *  
  113.          */  
  114.         public static function addDaysByDateTime(date:Date, addDay:Number):Date   
  115.         {   
  116.             return new Date(date.getTime() + addDay * DAY);   
  117.         }   
  118.            
  119.         /**  
  120.          * 取下一天  
  121.          */  
  122.         public static function  getNextDay(currentDate:Date):Date{   
  123.             return addDaysByDateTime(currentDate,1);   
  124.         }   
  125.            
  126.         /**  
  127.          * 取上一天  
  128.          */  
  129.         public static function  getLastDay(currentDate:Date):Date{   
  130.             return addDaysByDateTime(currentDate,-1);   
  131.         }   
  132.   
  133.         /**  
  134.          * 取下一个月  
  135.          */  
  136.         public static function getNextMonth(currentDate:Date):Date   
  137.         {   
  138.             var returnDate:Date=new Date(currentDate.getTime());   
  139.             returnDate.setMonth(returnDate.getMonth() + 1, returnDate.getDate());   
  140.             return returnDate;   
  141.         }   
  142.            
  143.         /**  
  144.          * 取上一个月  
  145.          */  
  146.         public static function getLastMonth(currentDate:Date):Date   
  147.         {   
  148.             var returnDate:Date=new Date(currentDate.getTime());   
  149.             returnDate.setMonth(returnDate.getMonth() - 1, returnDate.getDate());   
  150.             return returnDate;   
  151.         }   
  152.   
  153.         /**  
  154.          * 取下一个年  
  155.          */  
  156.         public static function getNextYear(currentDate:Date):Date   
  157.         {   
  158.             var returnDate:Date=new Date(currentDate.getTime());   
  159.             returnDate.setFullYear(returnDate.getFullYear() + 1);   
  160.             return returnDate;   
  161.         }   
  162.   
  163.         /**  
  164.          * 取上一个年  
  165.          */  
  166.         public static function getLastYear(currentDate:Date):Date   
  167.         {   
  168.             var returnDate:Date=new Date(currentDate.getTime());   
  169.             returnDate.setFullYear(returnDate.getFullYear() - 1);   
  170.             return returnDate;   
  171.         }   
  172.   
  173.   
  174.         /**  
  175.          * 取当月月底  
  176.          */  
  177.         public static function getFristDayOfMonth(currentDate:Date):Date   
  178.         {   
  179.             currentDate.setMonth(currentDate.getMonth(), 1); //下个月的第一天,也就是下个月1号   
  180.             return currentDate;   
  181.         }   
  182.            
  183.         /**  
  184.          * 取当月月底  
  185.          */  
  186.         public static function getLastDayOfMonth(currentDate:Date):Date   
  187.         {   
  188.             currentDate.setMonth(currentDate.getMonth() + 11); //下个月的第一天,也就是下个月1号   
  189.             currentDate.setDate(currentDate.getDate() - 1); //下个月1号之前1天,也就是本月月底   
  190.             return currentDate;   
  191.         }   
  192.            
  193.   
  194.         /**  
  195.          * 获取日期的中文表示方式:例如星期一\星期二之类的。(注意0表示星期天)  
  196.          * @param currentDate  
  197.          * @return  
  198.          */  
  199.         public static function getChineseDay(currentDate:Date):String   
  200.         {   
  201.             switch (currentDate.getDay())   
  202.             {   
  203.                 case 0:   
  204.                     return "星期日";   
  205.   
  206.                 case 1:   
  207.                     return "星期一";   
  208.   
  209.                 case 2:   
  210.                     return "星期二";   
  211.   
  212.                 case 3:   
  213.                     return "星期三";   
  214.   
  215.                 case 4:   
  216.                     return "星期四";   
  217.   
  218.                 case 5:   
  219.                     return "星期五";   
  220.   
  221.                 case 6:   
  222.                     return "星期六";   
  223.   
  224.                 default:   
  225.                     return "";   
  226.             }   
  227.         }   
  228.   
  229.         /**  
  230.          * 获取日期的中文表示方式:例如星期一\星期二之类的。(注意0表示星期天)  
  231.          * @param currentDate  
  232.          * @return  
  233.          */  
  234.         public static function getEnglishDay(currentDate:Date):String   
  235.         {   
  236.             switch (currentDate.getDay())   
  237.             {   
  238.                 case 0:   
  239.                     return "Sunday";   
  240.   
  241.                 case 1:   
  242.                     return "Monday";   
  243.   
  244.                 case 2:   
  245.                     return "Tuesday";   
  246.   
  247.                 case 3:   
  248.                     return "Wednesday";   
  249.   
  250.                 case 4:   
  251.                     return "Thursday";   
  252.   
  253.                 case 5:   
  254.                     return "Friday";   
  255.   
  256.                 case 6:   
  257.                     return "Saturday";   
  258.   
  259.                 default:   
  260.                     return "";   
  261.             }   
  262.         }   
  263.   
  264.   
  265.     }   
  266. }  

你可能感兴趣的:(Date,object,String,Flex,工具)