ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java常用类:时间类(Date、Calendar、SimpleDateFormat)

2022-03-28 11:05:27  阅读:96  来源: 互联网

标签:Java System SimpleDateFormat println date Date Calendar out


Date

  • Date表示特定的瞬间,精确到毫秒,大部分方法已经呗Calendar类中的方法取代
  • 1s=1000ms=1_000_000nm

方法

  • 创建对象,显示时间
//今天
Date date = new Date();
System.out.println(date.toString());
System.out.println(date.toLocaleString());

//昨天,今天减去一天的毫秒数
Date date1 = new Date(date.getTime()-60*60*24*1000);
System.out.println(date1.toLocaleString());
  • after,before

今天的时间是否在昨天之后

boolean b1 = date.after(date1);
System.out.println(b1);
boolean b2 = date.before(date1);
  • compareTo:比较大小,正数大,负数小,0相等
int i = date.compareTo(date1);
System.out.println(i);
  • equals

Calendar

Calendar提供了获取或设置各种日历字段的方法

Calendar的修饰符是protected,无法直接创造对象

方法

  • getInstance():使用默认时区和区域获取日历
  • set():设置年月日
  • get(): 返回给定日历字段的值(年月日)
  • setTime(Date date):用Date设置该日历的时间,Date -> Calendar
  • getTime():返回一个Date表示此日历的时间,Calendar -> Date
  • add():时间的增加和减少
  • getTimeInMillies():获取从1970至今的毫秒值
  • getActualMaximum():获取月的最大天数
  • getActualMinimum():获取月的最小天数
//1. 创建Calendar对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
System.out.println(calendar.getTimeInMillis());

//2. 获取时间信息
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);//从0-11
int day = calendar.get(Calendar.DATE);//DAY_OF_MONTH,作用相同
int hour = calendar.get(Calendar.HOUR_OF_DAY);//HOUR:12小时制,HOUR_OF_DAY:24小时制
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+day+"日 "+hour+":"+minute+":"+second);

//修改时间
Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.DAY_OF_MONTH,22);
System.out.println(calendar2.getTime().toLocaleString());

//4. add方法修改世家
calendar2.add(Calendar.HOUR,-1);//减去一小时
System.out.println(calendar2.getTime().toLocaleString());

//用于获取月的最大最小天数
int max = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
int min = calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);
System.out.println(max);
System.out.println(min);

SimpleDateFormat

  • SImpleDateFormat是用于格式化和解析日期的类
    • 格式化:日期 -> 文本
    • 解析:文本 -> 日期
  • 常用时间模式字母
字母 日期或时间
y
M 年中月份
d 月中天数
H 小时数(0-23)
m 分钟
s 秒(小写s)
S 毫秒(大写S)

方法

  • 格式化
//1. 创建SimplyDateFormat对象,y年M月
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//2. 创建Date
Date date = new Date();
//3. 格式化date,日期 -> 字符串
String str = sdf.format(date);
System.out.println(str);
//2022年03月28日 10:14:10
  • 解析
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd");
Date date2 = sdf2.parse("1990/05/01");//需要符合创建对象时的类型,才能进行解析
System.out.println(date2);
//Tue May 01 00:00:00 CDT 1990

标签:Java,System,SimpleDateFormat,println,date,Date,Calendar,out
来源: https://www.cnblogs.com/chachan53/p/16065984.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有