Java日期时间类工具

Java日期时间类

Date类

Java提供的Date类和Calendar类用于处理日期和时间的类,包括创建日期,时间对象,获取系统当前日期,时间

等操作。但Date类无法实现国际化,注意,月份与小时都是以0开始,而月份中的天数则是以1开始,年是以1990

年开始。

Date类提供的主要构造器:

Date()生成一个代表当前日期时间的Date对象,该构造器在底层调用System.currentTimeMillis()获long整数作为日期参数

Date(long date):根据指定的long型整数来生成一个Date对象,该构造器的参数表示创建的Date对象和GMT 1970-01-01 00:00:00该对象的时间差

以毫秒作为计时单位。

方法:

long getTime():返回该时间对应的long型整数,即从GMT 1970-01-01 00:00:00该对象的时间差,以毫秒作为计时单位

void setTime(long time):设置该date对象的时间

实例:

public class DateTest{

public static void main(String[] args){

Date d1=new Date();

//获取当前时间之后100ms的时间

Date d2=new Date(System.currentTimeMillis()+100);

System.out.println(d2);

System.out.println(d1.compareTo(d2));

}

}

Calendar类

Java提供了更好的类来处理日期和时间,Calendar是一个抽象类,他表示日历

Calendar是一个抽象类,它是所以日历类的模版,并提供了一些所有日历通用的方法,同时

不能使用构造器来创建Calendar类,但他提供了几个静态的getInstance()方法来获取Calendar对象

这些方法根据TimeZone和Locale类来获取特定的Calendar

Calendar和Date类可以自由转换

//创建一个系统默认的Calendar对象

Calendar calendar=Calendar.getInstance();

//从Calendar中取出Date对象

Date date=calendar.getTime();

//通过Date对象获得对应的Calendar对象

//因为Calendar和GregorianCalendar没有构造函数可以接收Date对象

//所以必须先获取一个Calendar实例,然后调用其setTime()方法

Calendar calendar2=Calendar.getInstance();

calendar2.setTime(date);

Calendar提供了大量访问,修改日期和时间的方法:

void add(int field,int amount):根据日历规则,为给定的字段添加或减去指定的时间量

void roll(int field,int amount):与add方法相似,区别是加上amount后超过了该字段所能表示的最大

范围时,也不会向上一个自动进位

void set(int field,int value):将给定的日历字段设置为给定的值

void set(int year,int month,int date):将给定的日历字段设置为给定的值

void get(int field):返回指定日历字段的year,month,date三个字段的值

public class CalendarTest{

public static void main(String[] args){

Calenda calendar=Calendar.getInstance();

System.out.println(calendar.get(YEAR));

System.out.println(calendar.get(MONTH));

//2004-10-23-\ 21:1:2

System.out.println(calendar.set(2004,10,23,21,1,2));

System.out.println(calendar.get(Date));

//将Calendar向后推一年

System.out.println(calendar.add(YEAR,1));

//将Calendar向前推8个月

System.out.println(calendar.roll(MONTH,8));

}

}

//YEAR,MONTH,DATE是Calendar中的静态常量,可以直接使用

java 日期时间工具_Java日期时间类工具相关推荐

  1. java格式化日期时分秒_Java 日期、时间类,日期、时间的格式化

    Java提供了Date.Calendar两个类用于处理日期.时间. 但Date的大部分构造器.方法已经过时,不在推荐使用,Calendar类又过于复杂,所以Java8推出了一套新的时间日期库. 1.D ...

  2. java时间规范化_Java日期时间使用总结

    一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java中 ...

  3. java 当天最晚时间毫秒_java 日期和字符串互转,根据当天整天时间 得到当天最后一秒的日期时间...

    java 日期和字符串互转,根据当天整天时间   得到当天最后一秒的日期时间 package com.hi; import java.text.DateFormat; import java.text ...

  4. java 日期格式常量_Java 日期格式类

    Java格式 - Java日期格式类 Java 8有新的Date-Time API来处理日期和时间. 我们应该使用新的Java 8 Date-Time API来格式化和解析日期时间值. 如果我们正在编 ...

  5. java calendar 时分秒_Java中Calendar类的常用方法(对时间进行计算的类)

    例子: /**** * 传入具体日期 ,返回具体日期增加一个月. * @param date 日期(2017-04-13) * @return 2017-05-13 * @throws ParseEx ...

  6. java long加减_java 日期加减

    Date d=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.prin ...

  7. java socket 工具_java Socket简易聊天工具

    本文实例为大家分享了一款Socket简易聊天工具,希望大家喜欢. 代码运行如图,看起来还不错 服务端 package qiu; import java.awt.BorderLayout; import ...

  8. java random函数用法_JAVA的Random类的用法详解

    Random类主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家. Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时 ...

  9. java dump 工具_Java线程Dump分析工具--jstack

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使 ...

最新文章

  1. 聊聊rocketmq的BrokerHousekeepingService
  2. 科技领袖技术大亨们被指是现代强盗:不仅赚钱还想垄断
  3. php 实现的n,php 实现数据N等分。
  4. 来了!云栖大会都能看到什么?
  5. 嵌入式电路设计(入门)
  6. mysql+查看端口和进程,linux查看端口、进程以及kill情况
  7. (01)数据库及相关
  8. 7. COM编程——初始化并创建COM对象
  9. 苹果系统摩尔庄园是什么服务器,摩尔庄园手游服务器怎么选 数据互通规则详解...
  10. 基于AD9979+夏普sharp 1/3英寸130万像素CCD成像组件设计
  11. Matlab求解线性方程组Ax=b
  12. SpringBoot的ResultFul增删改查
  13. 3D Question Answering
  14. vue 渲染函数处理slot_解决vue同一slot在组件中渲染多次的问题
  15. Python基础1_沙窝李的王
  16. SQL常用的操作语句
  17. PVT的spatial reduction attention(SRA)
  18. MockMvc案例实战调用Controller层API接⼝
  19. 电磁学学习三__通量、散度、旋度
  20. 服务器凝思系统如何设置网,凝思服务器操作系统

热门文章

  1. 亚信科技公布2019年度业绩,5G商用效果凸显
  2. 中国开源产品如何走向世界?
  3. Java String 对象,你真的了解了吗?| CSDN 博文精选
  4. 李彦宏回应百度落后:我们擅长技术含量高的
  5. 腾讯回应封杀质疑;王思聪评社交软件;董明珠连任格力董事长;| 极客头条...
  6. 刘强东事后首发声;拼多多入局 AI ;三星手机 CEO 承认危机 | 极客头条
  7. 腾讯云再登 KVM 开源贡献榜,Linux 虚拟化技术将走向何方?
  8. 快戳!Python 开发者的福音来啦!
  9. 百度成为“数字中国”建设核心推动力
  10. 怎样解决编程语言之间的差异性问题?