Java常用类(2)--日期时间Date、Calendar相关类
2021/9/9 1:37:07
本文主要是介绍Java常用类(2)--日期时间Date、Calendar相关类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- java.lang.System类
- java.util.Date类
- java.sql.Date类
- java.text.SimpleDateFormat类
- java.util.Calendar(日历)类
java.lang.System类
System类提供的public static long currentTimeMillis()
用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差(时间戳)。(此方法适于计算时间差)
long time = System.currentTimeMillis(); System.out.println(time);
java.util.Date类
构造器:
①Date()
:创建的对象可以获取本地当前时间
②Date(long date)
:创建指定毫秒数的Date对象,相当于又将时间戳转换成String形式
常用方法
①getTime()
:返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
②toString()
:把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。
import java.util.Date; public class DataTest { public static void main(String[] args) { Date date = new Date(); System.out.println(date.toString()); System.out.println(date); //等同于toString()方法 System.out.println(date.getTime()); } }
java.sql.Date类
是java.util.Date类的子类,对应着数据库中的日期类型的变量。
构造器:java.sql.Date(时间戳)
常用方法:同上
java.sql.Date与java.util.Date转换,可以通过多态和getTime()方法
import java.util.Date; public class DataTest { public static void main(String[] args) { Date date = new Date(); java.sql.Date sqlDate = new java.sql.Date(date.getTime()); System.out.println(sqlDate); } }
java.text.SimpleDateFormat类
Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。其允许进行①格式化:日期—>字符串、②解析:字符串—>日期。
格式化:
1.实例化
①SimpleDateFormat() :默认的模式和语言环境创建对象
②SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象
2.格式化
实例化对象调用 String format(Date date)
方法格式化时间对象
import java.text.SimpleDateFormat; import java.util.Date; public class SimpleTest { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat(); //无参默认模式实例化 Date date = new Date(); String format = sdf.format(date); //格式化 System.out.println(format); } }
import java.text.SimpleDateFormat; import java.util.Date; public class SimpleTest { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //带参指定格式实例化 Date date = new Date(); String format = sdf.format(date); //格式化 System.out.println(format); } }
关于指定格式:
解析(格式化逆过程):
Date parse(String source)
:依据格式解析字符串,以生成一个日期(注意格式的匹配对应,否则抛异常)
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleTest { public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //带参指定格式实例化 Date parse = sdf.parse("2020-12-20 22:03:19"); System.out.println(parse); } }
java.util.Calendar(日历)类
这是一个抽象(abstract)类,主用用于完成日期字段之间相互操作的功能。
实例化:
①使用Calendar.getInstance()
该静态方法
②调用它的子类GregorianCalendar的构造器
常用方法:
import java.util.Calendar; import java.util.Date; public class CalendarTest { public static void main(String[] args) { Calendar instance = Calendar.getInstance(); //get():int get(int field) int ofMouth = instance.get(Calendar.DAY_OF_MONTH); System.out.println(ofMouth); int ofYear = instance.get(Calendar.DAY_OF_YEAR); System.out.println(ofYear); //set():void set(int field,int value) instance.set(Calendar.DAY_OF_MONTH,9); System.out.println(instance.get(Calendar.DAY_OF_MONTH)); //add:void add(int field,int amount) instance.add(Calendar.DAY_OF_MONTH,-2); System.out.println(instance.get(Calendar.DAY_OF_MONTH)); //getTime:final Date getTime() 将日历类型转换为Date类型 Date time = instance.getTime(); System.out.println(time); //setTime:final void setTime(Date date) 将Date类型转换为日历类型 instance.setTime(new Date()); System.out.println("********" + instance.getTime()); } }
一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND。
未完待续
这篇关于Java常用类(2)--日期时间Date、Calendar相关类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28MQ底层原理资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:入门与初级用户指南
- 2024-11-28MQ消息队列资料入门教程
- 2024-11-28MQ消息队列资料:新手入门详解
- 2024-11-28MQ消息中间件资料详解与应用教程
- 2024-11-28MQ消息中间件资料入门教程
- 2024-11-28MQ源码资料详解与入门教程
- 2024-11-28MQ源码资料入门教程
- 2024-11-28RocketMQ底层原理资料详解