JAVA日期与时间

一:java.util.Data 包

Data对象表示一个精确到毫秒的瞬间。

下面我仅介绍它还剩下的为数不多的几个方法(这些方法的共同点是Date与毫秒值的转换):

构造方法:

  • Date(): 在底层调用System.currentTimeMillis()作为日期参数
  • Date(long date): 根据指定的long整数(从1970-1-1 00:00:00以来经过的毫秒数)来生成Date对象.

方法

  • boolean after(Date when): 测试this日期是否在指定日期when之后;
  • boolean before(Date when): 测试this日期是否在指定日期when之前;
  • long getTime(): 获取从1979-01-01 00:00:00 到Date对象之间经过的毫秒值;
  • void setTime(long time): 设置时间,time含义上同.

二:java.util.calendar 包

由于Data存在很多的缺陷,因此提供了一个calendar抽象类来处理日期和时间。是所有日历类的模板,因此,我们可以继承Calendar来实现其他的历法(比如阴历)。

Java中提供了一种Calendar的默认实现java.util.GregorianCalendar格里高利日历(其实JDK还默认提供了一款日本历法java.util.JapaneseImperialCalendar),也就是我们所说的公历. 使用

Calendar.getInstance();获取的就是默认的GregorianCalendar,getInstance()方法的内部会调用cal = new GregorianCalendar(zone, aLocale);来生成一个格里高利日历实例.

下面介绍常用的方法:

  • void add(int field, int amount)  根据日历的规则,将指定的时间量添加或减去给定的日历字段。field是Calendar类的类变量, 如:Calendar.DATECalendar.MONTHCalendar.HOURCalendar.DAY_OF_WEEK。但需要指出的是Calendar.MONTH月份的起始值不是1, 而是0(一月:0, 二月:1 …), Calendar.DAY_OF_WEEK代表的星期, 起始值是周日(周日:1, 周一:2 …) ;让amount为正数, 如果要减少某字段的值, 让amount为负数. 且当超出他的允许范围时, 会发生进位.
  • int get(int field)  返回给定日历字段的值。
  • int getActualMaximum(int field)  给定日历日历的时间值,返回指定日历字段可以拥有的最大值。
  • int getActualMinimum(int field) 给定日历日历的时间值,返回指定日历字段可以拥有的最小值
  • void roll(int field, int amount)  将指定的(签名)数量添加到指定的日历字段,而不更改较大的字段。
  • void set(int field, int value) 将给定的日历字段设置为给定值。
  • void set(int year, int month, int date) 设置日历字段年、月和月的月份值。
  • void set(int year, int month, int date, int hourOfDay, int minute, int second) 设置字段年、月、日、月、小时、分钟和秒的值。
  • void setTimeInMillis(long millis)从给定的长值设置此日历的当前时间。
  • long getTimeInMillis() 以毫秒返回此日历的时间值。

详细文档介绍:https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html

三:java.text.DateFormat

java.text.DateFormat包用于日期格式化,是一个抽象类

方法:

  • static DateFormat getDateInstance()获取默认格式的默认格式化样式的日期格式化程序。
  • static DateFormat getDateTimeInstance()获取具有默认区域设置的默认格式化样式的日期/时间格式化程序。
  • static DateFormat getTimeInstance()获取具有默认区域设置的默认格式化样式的时间格式化程序。

但由于在我们的实际开发中很少直接用DateFormat类,而我们比较常用的是其子类SimpleDateFormat。

四:java.text.SimpleDateFormat.

java.text.SimpleDateFormat可以非常灵活的格式化Date, 也可以用于解析各种格式的日期字符串.创建SimpleDateFormat对象时需要传入一个pattern字符串,这个pattern不是正则表达式,而是一个日期模板字符串.

方法:

  • String format(Date date) 将日期格式化为日期/时间字符串。
  • Date parse(String source) 从给定字符串的起始处解析文本以生成日期。

详细文档介绍:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#number

原文地址:https://www.cnblogs.com/dengwang/p/8994923.html

时间: 2024-08-01 07:34:31

JAVA日期与时间的相关文章

Java日期和时间

java.util包提供了Date类来封装当前的日期和时间,Date类提供两个构造函数聊实例化Date对象. Date()//使用当前日期和时间来初始化对象: Date(long millisec)//接收一个参数,该参数是从1970年1月1日起的毫秒数: 创建Date对象后,可调用以下方法: 序号 方法和描述 1 boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false 2 boolean before(Date date)

Java 日期、时间类

Java 原本提供了 Date 和 Calendar 用于处理日期.时间的类,包括创建日期.时间对象,获取系统当前日期.时间等操作.但 Date 不仅无法实现国际化,而且它对不同属性也使用了前后矛盾的偏移量,比如月份与小时都是从0开始的,月份中的天数则是从1开始的,年又是从1900开始的,而 java.util.Calendar 则显得过于复杂,从下面介绍中会看到传统 Java 对日期.时间处理的不足.Java8 吸取了 Joda-Time 库(一个被广泛使用的日期.时间库)的经验,提供了一套全

Java日期与时间的处理/Date,String,Calendar转换

public class Demo01 { //Java中Date类和Calendar简介 public static void main(String[] args) { long now=System.currentTimeMillis(); System.out.println("now= "+now); Date d1=new Date(now); System.out.println("d1= "+d1); Calendar c1=Calendar.get

Java 日期和时间转换Class SimpleDateFormat

Date and Time Pattern Result "yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT "EEE, MMM d, ''yy" Wed, Jul 4, '01 "h:mm a" 12:08 PM "hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time "K:mm

JAVA日期和时间类彻底解决(3)完vswa

消息摘要(Message Digest)数据库作为最关键的基础设施,渗透技术领域的方方面面.随着互联网应用的广泛普及,海量数据的存储及访问成为系统设计的一大痛点.随着各行各业对信息化管理的依赖日益加剧,企业对数据访问的连续性提出了更高的要求,面对纷至沓来的稳定性及高可用需求,数据库技术已然成为各领域信息化建设的关键一环.作为SDCC系列技术峰会的一部分,来自阿里巴巴.腾讯.微博.网易等多家企业的数据库专家及高校研究学者,将围绕Oracle.MySQL.PostgreSQL.Redis等热点数据库

Java 日期和时间之间转换

┌─────────────┐ │LocalDateTime│────┐ └─────────────┘ │ ┌─────────────┐ ├───>│ZonedDateTime│ ┌─────────────┐ │ └─────────────┘ │ ZoneId │────┘ ▲ └─────────────┘ ┌─────────┴─────────┐ │ │ ▼ ▼ ┌─────────────┐ ┌─────────────┐ │ Instant │<───>│ long │

Java语言学习(5)-Java中基础封装类(日期、时间类)

日期和时间封装类 1. Data类 Java日期和时间采用Data类.Data类在java.util包中. Data类构造函数: 1)       Data()   采用当前时间初始化对象: 2)       Data(long millisec)   采用1970年1月1日起时间毫秒数来初始化对象. Data类的方法: 1)       boolean after(Data d).boolean before(Data d) Data对象和参数指定日期较早晚,返回boolean值. 2)   

Java日期时间(Date/Time)

获取当前日期和时间 在Java中容易得到当前的日期和时间.可以使用一个简单的Date对象的toString()方法,如下所示打印当前日期和时间: import java.util.Date; public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date using toStr

Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)

Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();System.out.println(dt.toString());   //java.util.Date的含义long lSysTime1 = dt.getTime() / 1000;   //得到秒数,Date类型的getTime()返回毫秒数 2.由long类型转换成Date类型SimpleDat