java日期处理

与时间日期有关的类

类之间的关系

  

  以上的图列出了部分常用的类。我们一般会使用的类java.util.Date、java.util.Calendar、java.sql.Timestamp、java.text.DateFormat进行时间日期操作

public static void main(String[] args) {
        /*
         * 以下代码用于向大家展示各个时间日期类对象的包含组件。
         */
        java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
        System.out.println(sqlDate.toString()); // 输出结果:2012-09-01
        java.sql.Time sqlTime = new java.sql.Time(System.currentTimeMillis());
        System.out.println(sqlTime.toString()); // 输出结果:12:35:11
        java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(System.currentTimeMillis());
        System.out.println(sqlTimestamp.toString()); // 输出结果:2012-09-01 12:36:33.544
        java.util.Date utilDate = new java.util.Date(System.currentTimeMillis());
        System.out.println(utilDate.toString()); // 输出结果:Sat Sep 01 12:37:34 CST 2012
        java.util.Calendar cl = java.util.Calendar.getInstance();
        System.out.println(cl.getTime().toString()); // 输出结果:Sat Sep 01 12:39:51 CST 2012
        
        /*
         * 以下代码用于试验java.sql.Date和java.sql.Time是否具有完整组件。 
         */
        System.out.println();
        try {
            System.out.println(sqlDate.getHours());
        } catch (Exception e) {
            System.out.println(e.getMessage()); // 输出 null
        }
        try {
            System.out.println(sqlTime.getDate());
        } catch (Exception e) {
            System.out.println(e.getMessage()); // 输出 null
        }
        
        /*
         * 下面的代码给大家展示时间日期的格式化。
         */
        System.out.println();
        java.text.DateFormat dateFormat = java.text.SimpleDateFormat.getInstance();
        // java.util.Date原本的格式
        System.out.println(utilDate.toString()); // 输出:Sat Sep 01 13:16:13 CST 2012
        // java.util.Date格式化后的格式
        System.out.println(dateFormat.format(sqlDate)); // 输出:12-9-1 下午1:16
        System.out.println();
        // 很多时候以上的结果并不是我们希望的,我们希望更加自由、更见简单的操作方式
        // 此时,java.text.SimpleDateFormat就成了我们的不二选择
        // SimpleDateFormat提供了无参和自定义格式参数的构造方法使我们能够轻松地实现自定义格式化
        java.text.SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
        System.out.println(simpleDateFormat.format(sqlDate)); // 输出:2012-09-01 13:20:41 下午
    }

日期时间模式


使用总结

1.java.sql.Date没有时间组件!而java.sql.Time没有日期组件!

     2.java.util.Date、java.util.Calendar、java.sql.Timestamp具有的时间日期组件(而且他们具有无参构造方法)

     3.在进行数据库时间日期操作时,使用java.sql.Timestamp类。

     4.如果您需要在程序中进行完整的时间日期操作,推荐您使用java.util.Date+java.text.DateFormat。

  如果您需要进行复杂或深入的操作,您可以选择java.util.Calendar。

5.可以通过java.util.Date date = new java.util.Date()或者java.util.Date date = java.util.Calendar.getInstance().getTime()获得java.util.Date对象。和数据库打交道的话就用java.sql.Timestamp。

   6.大家可以通过java.text.DateFormat或者他的直接实现类java.text.SimpleDateFormat来实现时间日期的格式化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值