2.15 JAVA日期处理


一、JAVA日期

参考链接:https://www.runoob.com/java/java-date-time.html

  • 1.日期两个构造函数

1.第一个构造函数使用当前日期和时间来初始化对象。Date( )

2.第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(long millisec)

  • 2.JAVA日期常用方法

java.util 包提供了 Date 类来封装当前的日期和时间。

Date( ) date = new Date(); 当前时间

1.int compareTo(Date date)
比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。

2.before(Date date),after(Date date)

在前返回ture,后flase

3.equals(Object date) 相等返回true,否则返回false

4.String toString( )把此 Date 对象转换为为 String格式

二、格式化日期

  • 2.1 SimpleDateFormat

是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。

注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

      Date dNow = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
      System.out.println("当前时间为: " + ft.format(dNow));
  • 2.2Calendar类

使用Calendar 类操作时间,

Calendar c = Calendar.getInstance();//默认是当前日期
c1.set(2009, 6, 12);//把Calendar对象c1的年月日分别设这为:2009、6、12
  • 2.3 使用printf格式化日期

  • 2.4 实际应用

1.确定调用方法时间间隔

//1.确定方法调用时间
long time2 = System.nanoTime();
dao.queretime();
long time3 = System.nanoTime();
logger.info((time3 - time2) / 1000000 + "】毫秒
//2.测量实际间隔方法2
         long start = System.currentTimeMillis( );
         System.out.println(new Date( ) + "\n");
         Thread.sleep(5*60*10);
         System.out.println(new Date( ) + "\n");
         long end = System.currentTimeMillis( );
         long diff = end - start;
         System.out.println("Difference is : " + diff);
    

2.其他类型时间相互转换,修改时间提前5分钟

//1.XMLGregorianCalendar 转换为Date在时间修改提前五分钟
            XMLGregorianCalendar date = map.get("startDate");
            GregorianCalendar ca = date.toGregorianCalendar();
            Date now = ca.getTime();
            Date beforTime = new Date(now.getTime() - 300000);
            GregorianCalendar cal = new GregorianCalendar();
            cal.setTime(beforTime);
            XMLGregorianCalendar gc = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
            map.put("startDate",gc);
//2.Date直接修改提前5分钟
        Date now =  map.get("startDate");
        Date beforTime = new Date(now.getTime() - 300000);
        map.put("startDate",beforTime);
        dao.updateStartDate(serviceCode);



优质内容筛选与推荐>>
1、GO make&new区别
2、linux mysql表名大小写
3、source insight 解决自动缩进 和 TAB键=4个SPACE
4、SpringBoot MyBatis 一级缓存和二级的配置理解
5、WSGI的理解


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn