常用类型_日期..
2024-01-08 04:14:38
1.Date
java.util.Date是开发中常用的日期处理类(并非java.sql.Date类)
现在这么一个需求:
就是获取当前时区的时间
public class Main{
public static void main(String[] args) {
// d1和d2表示的时间都是一样的 所以推荐使用第一种写法 比较简洁
Date d1 = new Date();
Date d2 = new Date(System.currentTimeMillis());// 这种写法表示的是从1970.1.1 00:00:00经历了到现在的毫秒数的时间 即当前的时间
System.out.println(d1);
System.out.println(d2);
}
}
从打印的结果来看 印证了我们的注释 打印结果中有一个CST/GMT+08:00 CST指的是中国标准时间(China Standard Time) 而GMT指的是格林尼治时间 由于英国和中国相差8个小时的时差 所以GMT+08:00相当于CST
1.Date的常用方法
public class Main{
public static void main(String[] args) {
// 以下是Date类的常用方法
Date d1 = new Date();
Date d2 = new Date();
// 设置毫秒数
d1.setTime(1000);// 单位是毫秒
d2.setTime(2000);
// 获取毫秒数
System.out.println(d1.getTime());// 1000 单位是毫秒
System.out.println(d2.getTime());// 2000
// 比较前者是否晚于后者
System.out.println(d1.after(d2));// false
// 比较前者是否早于后者
System.out.println(d1.before(d2));// true
// 获取两者比较的结果
System.out.println(d1.compareTo(d2));// <0
}
}
2.SimpleDateFormat
我们可以通过java.text.SimpleDateFormat对日期的格式进行处理
public class Main{
public static void main(String[] args) throws ParseException {
// 我们定义一个日期格式 用来格式化日期 格式化为指定的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(new Date());
System.out.println(str);
// 当然对于已经格式化的日期 我们也可以对其进行解析 解析成日期格式
Date d = sdf.parse(str);
System.out.println(d);
}
}
3.SimpleDateFormat的模式字母
2.Calendar
除了上述Date类可以用来帮助我们对日期进行处理以外 还可以通过java.util.Calendar对开发中的日期
进行处理
其中 值得注意的是:Calendar是一个抽象类 不能够被实例化 但是可以指向子类对象 而类内部正好有一个方法可以获取子类对象 即getInstance()方法 你可以通过查看jdk原码加以了解
并且Date类中很多过期的方法都迁移到了这里面 功能也会比Date更加丰富
public class Main {
public static void main(String[] args) throws ParseException {
Calendar c = Calendar.getInstance();
// 获取当前时间的年份
System.out.println(c.get(Calendar.YEAR));// 2024
// 获取当前时间的月份 月份的取值范围为[0, 11]
System.out.println(c.get(Calendar.MONTH));// 0
// 获取当前时间的在一个月中的第几天 取值范围为[1, 31]
System.out.println(c.get(Calendar.DAY_OF_MONTH));// 6
// 获取当前时间在一个星期中的第几天 取值范围为[1, 7] 并且星期日才是一个星期的开始
System.out.println(c.get(Calendar.DAY_OF_WEEK));// 7
// 获取当前时间在一年中的第几天 取值范围为[1, 366]
System.out.println(c.get(Calendar.DAY_OF_YEAR));// 6
// 获取当前时间的小时数
System.out.println(c.get(Calendar.HOUR));// 11
// 获取当前时间的分钟数
System.out.println(c.get(Calendar.MINUTE));// 23
// 获取当前时间的秒数
System.out.println(c.get(Calendar.SECOND));// 49
// 获取当前时间的毫秒数
System.out.println(c.get(Calendar.MILLISECOND));// 74
}
}
1.Calendar的常用方法
public class Main {
public static void main(String[] args) throws ParseException {
Calendar c = Calendar.getInstance();
// 设置时间为2019-7-6 原因在于月份的起始值为0 所以6表示7月份
c.set(2019, 06, 06);
// 接着就是在当前时间的基础上对参数进行添加操作
// 对日进行追加 追加5天 时间为2019-7-11
c.add(Calendar.DAY_OF_MONTH, 5);// 11
System.out.println(c.get(Calendar.DAY_OF_MONTH));
// 对月份进行追加 追加2个月 时间为2019-9-11
c.add(Calendar.MONTH, 2);
System.out.println(c.get(Calendar.MONTH));// 8
// 再次设置时间 这次通过Date对象进行设置 设置时间为当前时间
c.setTime(new Date());
// 获取当前时间
System.out.println(c.getTime());// 2024-1-6 11:32:23
// 设置毫秒数
c.setTimeInMillis(System.currentTimeMillis());// 设置时间为当前时间
System.out.println(c.getTimeInMillis());// 获取毫秒数
}
}
2.打印格式化
其中的本地化操作就是以本地的语言呈现当前所要呈现的东西
public class Main {
public static void main(String[] args) throws ParseException {
Calendar c = Calendar.getInstance();
Date date = new Date();
System.out.printf("%tB %te %tY%n", date, date, date);
System.out.printf("%tl %tM %tp%n", c, c, c);
}
}
文章来源:https://blog.csdn.net/m0_71299382/article/details/135423276
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!