zoukankan      html  css  js  c++  java
  • Java

    今天在写代码时需要用到时间相关的类,一开始,数据库中存的数据类型是timestamp的,所以在Java中就使用了

    Timestamp类型,但当调用Timestamp类型的方法时发现,它的很多方法都是deprecated,并且运行结果与预期有所差异。

    Eclipse的自动提示我使用Calendar类来代替Timestamp类的使用。

     1 private static void testCalendar() {
     2         Timestamp ts = new Timestamp(System.currentTimeMillis());
     3         Calendar cal = Calendar.getInstance();
     4         cal.setTime(ts);
     5 
     6         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
     7         System.out.println(sdf.format(ts));
     8 
     9         Calendar cal2 = Calendar.getInstance();
    10         cal2.set(Calendar.YEAR, 2015);
    11         cal2.set(Calendar.MONTH, 2);
    12         System.out.println(cal2.getActualMaximum(Calendar.DAY_OF_MONTH));
    13         System.out.println(cal2.get(Calendar.YEAR) + "-"
    14                 + cal2.get(Calendar.MONTH) + "-"
    15                 + cal2.get(Calendar.DAY_OF_MONTH) + " " +
    16                 + cal2.get(Calendar.HOUR_OF_DAY) + ":"
    17                 + cal2.get(Calendar.MINUTE) + ":" 
    18                 + cal2.get(Calendar.SECOND));
    19     }

    通过调用Calendar的static方法得到一个Calendar实例,并且使用java.util.Date类型来进行初始化,

    java.sql.Timestamp类型是Date类的子类,因而可以使用它来进行初始化操作。

    这里有两点需要注意

    1. Calendar的Month是从0开始计数的,也就是说一月是0,二月是1,....,十二月是11;

    2. 使用SimpleDateFormat时,格式化字符串需要区分是12小时制还是24小时制

    1 SimpleDateFormat twelvesSDF= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制  
    2 
    3 SimpleDateFormat TwentyfourSDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制  
  • 相关阅读:
    一行命令搞定AD数据库备份
    PowerShell实战4:批量修改AD账户EMail属性
    PowerShell实战1:Ping_Test
    分享/etc/sysctl.conf和/boot/loader.conf优化
    PowerShell实战5: 批量增加AD组成员
    bsd压力测试工具
    kernel : arp .....的訊息
    将域控制器移到新的 Active Directory 站
    pf限速限链接数
    FreeBSD笔记
  • 原文地址:https://www.cnblogs.com/feiling/p/4401102.html
Copyright © 2011-2022 走看看