J2EE开发中的各种日期类型总结

来源:互联网 发布:海岛奇兵小怪升级数据 编辑:程序博客网 时间:2024/04/25 02:26
本人根据自己的经验总结,如果有不足,请大家指教:

一. Java中的日期格式
   字母  日期或时间元素       表示           示例  
       Era标志符        Text           AD  
      年          Year          1996;96  
      年中的月份       Month           July; Jul;07  
      年中的周数      Number         27  
      月份中的周数       Number           
      年中的天数       Number          189  
      月份中的天数       Number          10  
      月份中的星期       Number           
      星期中的天数       Text           Tuesday;Tue  
       Am/pm标记        Text           PM  
      一天中的小时数      (0-23)      Number   
      一天中的小时数      (1-24)      Number  24  
       am/pm中的小时数    (0-11)      Number   
       am/pm中的小时数    (1-12)      Number  12  
      小时中的分钟数    Number       30  
      分钟中的秒数       Number        55  
      毫秒数       Number        978  
      时区          General timezone     Pacific Standard Time; PST;GMT-08:00  
      时区          RFC 822 timezone     -0800
   
   可以使用SimpleDateFormat进行转换,代码如下:
       longl=System.currentTimeMillis();
       Date now=newDate(l);
       SimpleDateFormatsdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       System.out.println(sdf.format(now));      //输出获取的当前的时间
    日期和时间模式          结果  
    "yyyy.MM.dd G 'at' HH:mm:ssz"     2001.07.04 AD at 12:08:56PDT  
    "EEE, MMM d,''yy"           Wed, Jul 4,'01  
    "h:mm a"             12:08PM  
    "hh 'o''clock' a,zzzz"         12 o'clockPM, Pacific DaylightTime  
    "K:mm a,z"  0:08 PM,PDT  
    "yyyyy.MMMMM.dd GGG hh:mmaaa"     02001.July.04 AD 12:08PM  
    "EEE, d MMM yyyy HH:mm:ssZ"         Wed, 4 Jul2001 12:08:56-0700  
   "yyMMddHHmmssZ"          010704120856-0700  
   "yyyy-MM-dd'T'HH:mm:ss.SSSZ"       2001-07-04T12:08:56.235-0700  

二. JavaScript中的日期格式:
   JavaScript中没有设置格式的方式,只有一些方法,可以获取多种格式的事件
       Date(日期/时间对象)
       Date操作日期和时间的对象 
       Date.getDate() 返回一个月中的某一天 
       Date.getDay() 返回一周中的某一天 
       Date.getFullYear() 返回Date对象的年份字段 
       Date.getHours() 返回Date对象的小时字段 
       Date.getMilliseconds() 返回Date对象的毫秒字段 
       Date.getMinutes() 返回Date对象的分钟字段 
       Date.getMonth() 返回Date对象的月份字段 
       Date.getSeconds() 返回Date对象的秒字段 
       Date.getTime() 返回Date对象的毫秒表示 
       Date.getTimezoneOffset() 判断与GMT的时间差 
       Date.getUTCDate() 返回该天是一个月的哪一天(世界时) 
       Date.getUTCDay() 返回该天是星期几(世界时) 
       Date.getUTCFullYear() 返回年份(世界时) 
       Date.getUTCHours() 返回Date对象的小时字段(世界时) 
       Date.getUTCMilliseconds() 返回Date对象的毫秒字段(世界时) 
       Date.getUTCMinutes() 返回Date对象的分钟字段(世界时) 
       Date.getUTCMonth() 返回Date对象的月份(世界时) 
       Date.getUTCSeconds() 返回Date对象的秒字段(世界时) 
       Date.getYear() 返回Date对象的年份字段(世界时) 
       Date.parse( )解析日期/时间字符串 
       Date.setDate() 设置一个月的某一天 
       Date.setFullYear() 设置年份,也可以设置月份和天 
       Date.setHours() 设置Date对象的小时字段、分钟字段、秒字段和毫秒字段 
       Date.setMilliseconds() 设置Date对象的毫秒字段 
       Date.setMinutes() 设置Date对象的分钟字段和秒字段 
       Date.setMonth() 设置Date对象的月份字段和天字段 
       Date.setSeconds() 设置Date对象的秒字段和毫秒字段 
       Date.setTime() 以毫秒设置Date对象 
       Date.setUTCDate() 设置一个月中的某一天(世界时) 
       Date.setUTCFullYear() 设置年份、月份和天(世界时) 
       Date.setHours()  设置Date对象的小时字段、分钟字段、秒字段和毫秒字段(世界时) 
       Date.setUTCMilliseconds() 设置Date对象的毫秒字段(世界时) 
       Date.setUTCMinutes() 设置Date对象的分钟字段和秒字段(世界时) 
       Date.setUTCMonth() 设置Date对象的月份字段和天数字段(世界时) 
       Date.setUTCSeconds() 设置Date对象的秒字段和毫秒字段(世界时) 
       Date.setYear() 设置Date对象的年份字段 
       Date.toDateString() 返回Date对象日期部分作为字符串 
       Date.toGMTString() 将Date转换为世界时字符串 
       Date.toLocaleDateString() 回Date对象的日期部分作为本地已格式化的字符串 
       Date.toLocaleString() 将Date转换为本地已格式化的字符串 
       Date.toLocaleTimeString() 返回Date对象的时间部分作为本地已格式化的字符串 
       Date.toString() 将Date转换为字符串 
       Date.toTimeString() 返回Date对象日期部分作为字符串 
       Date.toUTCString() 将Date转换为字符串(世界时) 
       Date.UTC( )将Date规范转换成毫秒数 
       Date.valueOf() 将Date转换成毫秒表示 
       但是在JavaScript中不能获取当前月的天数,如果有需要,可以找我要,我有自己写的获取当月天数的js脚本
   
三. MySql中的日期格式:
       日期类型      存储空间     日期格式             日期范围 
       ---------------------   -------------------------------------------------------------- 
       datetime      8bytes   YYYY-MM-DDHH:MM:SS   1000-01-01 00:00:00 ~9999-12-31 23:59:59 
       timestamp     4bytes   YYYY-MM-DDHH:MM:SS   1970-01-01 00:00:01 ~2038 
       date        3bytes  YYYY-MM-DD        1000-01-01        ~9999-12-31 
       year        1bytes   YYYY            1901            ~2155 
    1. MySQL Str to Date(字符串转换为日期)函数:str_to_date(str,format): 

    selectstr_to_date('08/09/2008', '%m/%d/%Y');              --2008-08-09 
    select str_to_date('08/09/08', '%m/%d/%y');              --2008-08-09 
    selectstr_to_date('08.09.2008', '%m.%d.%Y');              --2008-08-09 
    selectstr_to_date('08:09:30', '%h:%i:%s');               --08:09:30 
    selectstr_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); --2008-08-09 08:09:30 
    可以看到,str_to_date(str,format)转换函数,可以把一些杂乱无章的字符串转换为日期格式。另外,它也可以转换为时间。
    “format” 可以参看 MySQL手册。 

    2. MySQL Date/Time toStr(日期/时间转换为字符串)函数:date_format(date,format),time_format(time,format) 

    selectdate_format('2008-08-08 22:23:00', '%W %M %Y');       --FridayAugust 2008 
    selectdate_format('2008-08-08 22:23:01','%Y%m%d%H%i%s');   --20080808222301
    selecttime_format('22:23:01', '%H.%i.%s');        22.23.01 

    MySQL日期、时间转换函数:date_format(date,format), time_format(time,format)能够把一个日期/时间转换成各种各样的
    字符串格式。它是str_to_date
    (str,format) 函数的一个逆转换。 

    3. MySQL拼凑日期、时间函数:makdedate(year,dayofyear),maketime(hour,minute,second) 

    selectmakedate(2001,31);   --'2001-01-31' 
    selectmakedate(2001,32);   --'2001-02-01' 

    select maketime(12,15,30); --'12:15:30' 
   4.mysql中的datetime和timestamp
   DATETIME:日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-3123:59:59'。MySQL以'YYYY-MM-DD 
   HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
   TIMESTAMP[(M)]:时间戳。范围是'1970-01-01 00:00:00'到2037年。
   TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为
   最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。

    5.获取系统当前时间:selectnow();
   
四.Oracle中的时间格式:由于不常使用,所以就不多说了,简要说一下:
    DD-MON-RR日期的缺省显示格式
    获取系统的时间:select sysdate fromdual;
   修改系统事件的默认显示格式(仅在本次终端下有效):alter session set nls_date_format = 'yyyymm dd hh24:mi:ss';
    将日期转换为char类型输出:selectto_char(sysdate,'yyyy mm dd hh24:mi:ss') fromdual;
    将char类型转换为date类型输出: selectto_date('01-JAN-12','DD-MON-rr') from dual;
                                        selectto_date('2008 08 08 08:08:08','yyyy mm dd hh24:mi:ss');
原创粉丝点击