Java日志第24天 2020.7.29
Date类
Date类的概念与作用
Date类表示特定的瞬间,精确到毫秒。
1秒 = 1000 毫秒
时间原点(0毫秒):1970年1月1日 0:0:0(英国格林尼治天文台时间)
而因为中国属于东八区,故时间原点应在此基础上加上八个小时。
输出时间原点
public class Demo01Date { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); } }
毫秒值与时间换算
1天 = 24小时 * 60分钟 *60秒 * 1000毫秒 = 86400000毫秒
Date类的构造方法和成员方法
构造方法主要有:
Date()无参构造方法。用于获取当前系统的时间和日期
Date(Long time) 有参构造方法,用于得到自时间原点经历毫秒值所得到的时间
成员方法主要有:
getTime()方法,用于获取当前系统时间的毫秒值。
具体实现如下代码:
import java.util.Date; public class Demo02Date { public static void main(String[] args) { demo01(); demo03(demo02()); } /* Date类的无参构造方法 用于获取当前系统的时间和日期 */ public static void demo01(){ Date date = new Date(); System.out.println(date); } /* Long getTime()方法返回自时间原点到系统时间的毫秒值 相当于Ststem.currentTimeMills()方法 */ public static long demo02(){ Date date = new Date(); long time = date.getTime(); return time; } /* Date有参构造方法 参数是一个毫秒值 返回从时间原点经过毫秒值到达的时间 */ public static void demo03(Long time){ Date date = new Date(time); System.out.println(date); } }
结果如下:
DateFormat类
DateFormat是时间、日期格式化子类的抽象类。它有一个直接已知子类SimpleDateFormat类,一个父类Format类。
作用:1.格式化(日期->文本) 2.解析(文本->日期)
成员方法:
1. String format(Date date) 按照指定的模式,把Date日期格式化为符合标准的字符串
2. Date parse(String source) 把复合模式的字符串,解析为Date日期
DateFormat是一个抽象类,无法直接使用创建对象,应该使用子类。
java.text.SimpleDateFormat
构造方法
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat
参数:String pattern 传递指定的模式
模式:区分大小写
y 年 M 月 d 日 H 时 m 分 s秒
模式写法:
yyyy-MM-dd HH:mm:ss
模式中的字母不能更改,连接模式的符号可以改变。
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo01DateFormat { public static void main(String[] args) throws ParseException { System.out.println("日期转换为文本:"); demo01(); System.out.println("==============="); System.out.println("文本转换为日期:"); demo02(); } /* 使用format方法将日渐转换为文本 */ public static void demo01(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); String d = sdf.format(date); System.out.println(date); System.out.println(d); } /* 使用parse方法解析时间日期类 但是注意:如果字符串和构造方法的模式不一样,那么程序就会抛出此异常 调用一个抛出了异常的方法,就必须处理这个异常 两种方法:1.throws继续抛出这个异常 2.try catch自己处理这个异常 */ public static void demo02() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse("2020-07-29 11:19:38"); System.out.println(date); } }
结果如下:
今天学习的内容非常实用,在开发C++程序的时候,很多时候用到获取系统时间,而Java中的Date类和DateFormat类很好的解决了此问题。
明天继续学习Calendar和System类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南