• 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小时制  
  • 相关阅读:
    还原大备份mysql文件失败的解决方法
    第一次招聘
    Data Transformation Services (DTS) Package Example
    .net Page 执行事件顺序
    批量修改相同結構的table layout
    js 中exec、test、match、search、replace、split用法
    存储过程分页,按多条件排序(原创)
    Lisp 的本质 [转]
    【原创】jQuery方法的写法不同导致的兼容性
    WinForm 图片变灰方法
  • 原文地址:https://www.cnblogs.com/feiling/p/4401102.html
Copyright © 2020-2023  润新知