1.System类的currentTimeMills()
返回当前时间与1970年1月1日0时0分0秒之间,以毫秒为单位的时间差,称为时间戳。
| long time = System.currentTimeMills(); |
| System.put.println(time); |
2.java.util.Date类和java.sql.Date类
sql.Date是util.Date的子类。
java.util.Date类
(1)两个构造器的使用
| public Date() { |
| this(System.currentTimeMillis()); |
| } |
| |
| public Date(long date) { |
| fastTime = date; |
| } |
(2)两个方法的使用
| public String toString() {} |
| |
| public long getTime() { |
| return getTimeImpl(); |
| } |
(3)java.sql.Date
对应数据库中的日期类型的变量。
① 创建java.sql.Date对象
| java.sql.Date sqlDate = new java.sql.Date(8586988756878L); |
| System.out.println(sqlDate); |
| |
| java.sql.Date sqlDate2 = new java.sql.Date(new Date().getTime()); |
| System.out.println(sqlDate2); |
② java.util.Date和java.sql.Date对象之间的转换
| Date utilDate1 = new java.sql.Date(45676543456L); |
| |
| java.sql.Date sqlDate1 = (java.sql.Date)utilDate1; |
| |
| |
| Date utilDate2 = new Date(); |
| java.sql.Date sqlDate2 = new java.sql.Date(utilDate2.getTime()); |
3.java.text.SimpleDateFormat类
该类可以对日期Date类进行格式化和解析。
- 格式化:日期 --> 字符串
- 解析:字符串 --> 日期
| |
| SimpleDateFormat sdf = new SimpleDateFormat(); |
| |
| String stringDate = sdf.format(new Date()); |
| Date utilDate = sdf.parse("19-12-18 上午11:43"); |
| |
| |
| |
| SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
| |
| String stringDate = sdf.format(new Date()); |
| |
| |
| Date utilDate3 = sdf.parse("2022-11-11 23:30:24"); |
(1)练习一:将字符串"2020-09-18" 转换为 java.sql.Date。
(2)练习二:从1990-01-01开始三天打渔两天晒网,求今天是打渔还是晒网?
点击查看答案
| |
| SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| Date date = sdf.parse("2020-09-08"); |
| java.sql.Date sqlDate = new java.sql.Date(date.getTime()); |
| |
| |
| Date date1 = sdf.parse("1990-01-01"); |
| Date date2 = new Date(); |
| |
| long days = (date2.getTime()-date1.getTime())/(1000*60*60*24)+1; |
| |
| if (days%5==1||days%5==2||days%5==3){ |
| System.out.println("打渔"); |
| }else if (days%5==4||days%5==0){ |
| System.out.println("晒网"); |
| } |
4.Calender日历类
这是一个抽象类
(1)创建实例
| GregorianCalendar calendar = new GregorianCalendar(); |
| Calendar calendar1 = Calendar.getInstance(); |
(2)常用方法
| |
| int days = calendar.get(calendar.DAY_OF_MONTH); |
| int years = calendar.get(calendar.DAY_OF_YEAR); |
| System.out.println(days); |
| System.out.println(years); |
| |
| |
| calendar.set(calendar.DAY_OF_MONTH,22); |
| int days1 = calendar.get(calendar.DAY_OF_MONTH); |
| System.out.println(days1); |
| |
| |
| calendar.add(calendar.DAY_OF_MONTH,-3); |
| int days2 = calendar.get(calendar.DAY_OF_MONTH); |
| System.out.println(days2); |
(3)calender和java.util.Date之间的转换
| |
| Date date1 = calendar.getTime(); |
| System.out.println(date1); |
| System.out.println(new Date()); |
| |
| |
| calendar.setTime(new Date()); |
| int days3 = calendar.get(calendar.DAY_OF_MONTH); |
| System.out.println(days3); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本