zoukankan      html  css  js  c++  java
  • Java日期处理

    一、相关类

    1、Date: 
      Date表示特定的瞬间,精确到毫秒,Date中的相应方法已废弃,从JDK 1.1开始,应该使用Calendar类实现日期和时间字段之间转换。 
    2、DateFormat: 
      DateFormat是日期/时间格式化子类的抽象类,格式化并解析日期或时间,可以进行日期 -> 文本 ,文本-> 日期的转换。子类SimpleDateFormat。 
    3、Calendar: 
      Calendar是日历抽象类,可通过其获取日期时间。推荐使用。

    package datetext;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class Text {
    
        public static void main(String[] args) {
            Date d = new Date();
            System.out.println(d);//第一种表示方法,Sat Jul 22 20:18:10 CST 2017
            System.out.println("----------------------");
            
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            System.out.println(sdf.format(d));//第二种表示方法,2017-07-22 20:18:10|SimpleDateFormat的用法
            System.out.println("----------------------");
    //老方法,慢慢的被淘汰 System.out.println(d.getTime()); System.out.println(d.getYear()); System.out.println(d.getMonth()+1); System.out.println(d.getDate()); System.out.println(d.getHours()); System.out.println(d.getMinutes()); System.out.println(d.getSeconds()); System.out.println("----------------------"); //新方法,用Calendar Calendar c = Calendar.getInstance(); //Calendar.getInstance() 使用默认时区和语言环境获得一个日历。 System.out.println(c.get(Calendar.YEAR)); System.out.println(c.get(Calendar.MONTH)+1);//注意:月份需要+1表示当前月 System.out.println(c.get(Calendar.DATE)); System.out.println(c.get(Calendar.HOUR)); System.out.println(c.get(Calendar.MINUTE)); System.out.println(c.get(Calendar.SECOND)); System.out.println("----------------------"); //SimpleDateFormat Date d2 = new Date(); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf2.format(d2)); Calendar c2 =Calendar.getInstance(); Date d_cal = c2.getTime(); System.out.println(sdf2.format(d_cal)); } }

    二、SimpleDateFormat

    SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。

    SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstancegetDateInstancegetDateTimeInstance 来新的创建日期-时间格式化程序。

    1、日期和时间模式

    2、例子:给定的日期和时间为美国太平洋时区的本地时间 2001-07-04 12:08:56

    三、表示国际时间(用Calendar)

    package datetext;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.TimeZone;
    
    public class Text {
    
        public static void main(String[] args) {
            Date d = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            System.out.println(sdf.format(d));
            System.out.println("----------------------");
            
            /*String[] ids = TimeZone.getAvailableIDs();
            
            for(int i=0;i<ids.length;i++){
                System.out.println(ids[i]);//输出所有地区的ID
            }*/
            
            //以日本为例
            Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Japan"));  //getTimeZone(),获得时区
            System.out.println(c.get(Calendar.HOUR));  //12小时制
            System.out.println(c.get(Calendar.HOUR_OF_DAY));  //24小时制
        }
    
    }

    四、把长整型数设置成一个特定的时间点:

    package datetext;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class Text {
    
        public static void main(String[] args) {
            Date d = new Date();
            //getTime(),返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
            System.out.println(d.getTime());//输出值为:1500733409509
            
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis(1500733409509l);//setTimeInMillis(long millis),
                                              //用给定的 long 值设置此 Calendar 的当前时间值。
            
            Date dd = c.getTime();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            System.out.println(sdf.format(dd)); //输出值为 2017-07-22 22:23:29
        }
    
    }

    五、Timestamp(时间戳,可以精确到毫秒)

    package datetext;
    
    import java.sql.Timestamp;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class Text {
    
        public static void main(String[] args) {
            Date d = new Date();
            
            System.out.println(d.getTime());//输出值为:1500733409509
            
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis(1500733409509l);
            
            Date dd = c.getTime();
            Timestamp ts = new Timestamp(1500733409509l);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
            System.out.println(sdf.format(ts)); //输出值为 2017-07-22 22:23:29:509
        }
    
    }
  • 相关阅读:
    linux读写锁
    轻量级过程改进之需求开发
    Hibernate4.3.6 Final+Spring3.0.5配置出错提示及解决方法
    hdu1198Farm Irrigation(dfs找联通)
    ushare编译之 ‘struct sockaddr_storage’ has no member named ‘s_addr’
    iOS的URLScheme
    Python学习笔记(一)
    un-资源-开源-WebGallery:Windows Web App Gallery
    几何-莱罗三角形:百科
    几何-正十七边形:百科
  • 原文地址:https://www.cnblogs.com/sutao/p/7223152.html
Copyright © 2011-2022 走看看