JAVA中的日期时间类用法总结

作者:荆棘鸟的天空 时间:2023-08-29 08:00:24 

前言

好记性不如烂笔头,日期时间类那么花哨不如记下来多看两眼。

提示:以下是本篇文章正文内容,下面案例可供参考

一.日期时间类的包

代码如下(示例):


java.util.Date;
java.time.format.DateTimeFormatter;
java.util.Calendar
java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

二.Data类

java.util.Date;

Date类是我们之前常用的一个日期和时间的对象,此类在 java.util 包中,并不是java.sql中的Date

代码如下(示例):


public static void main(String[] args) {
Date a=new Date();
System.out.println(a);//当前时间

Date b=new Date(System.currentTimeMillis());//当前时间

System.out.println(b);//Wed Aug 26 08:26:32 CST 2020
//常用方法:
//年必须加上1900
System.out.println(a.getYear()+1900);
//月0~11 必须加1
System.out.println(a.getMonth()+1);
//日1-31 不用加
System.out.println(a.getDate());
//转换成String
System.out.println(a.toString());//Wed Aug 26 08:26:32 CST 2020
//转换为GNT时区
System.out.println(a.toGMTString());
//转换为本地时区
System.out.println(a.toLocaleString());
}

三.SimpleDateFormat类

java.text.SimpleDateFormat

格式化输出日期,此类提供了一些预定义字符串或者称之为占位符:

yyyy:年

MM:月

dd: 日

HH: 小时

mm: 分钟

ss: 秒

格式化时间:


public static void main(String[] args) {
Date aa=new Date();
SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
String str=aa1.format(aa);
System.out.println(str);

f();
}
public static void f() {
Date a=new Date();
DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy-MM-dd-HH:mm:ss");
String t=w.format(LocalDateTime.now());
System.out.println(t);

}

JAVA中的日期时间类用法总结

四. Calendar类 -日历类

java.util.Calendar

日历类Calendar更多的是代表年 月 日 周 星期 上午 下午 夏时令等这样内容,Date用于记录某一个含日期的、精确到毫秒的时间。重点在代表一刹那的时间本身;

常用方法:

Calendar.YEAR:年

Calendar.MONTH:月 需要加1

Calendar.DAY_OF_MONTH:日

Calendar.HOUR:时

Calendar.MINUTE:分

Calendar.SECOND:秒

代码演示:


public static void main(String[] args) {
Calendar a=Calendar.getInstance();
Date b=a.getTime();
System.out.println(b);//当前时间,这样的格式Wed Aug 26 08:44:06 CST 2020
//年
int year=a.get(Calendar.YEAR);
//月
int mon =a.get(Calendar.MONTH)+1;
//日
int day=a.get(Calendar.DATE);
//日
int d=a.get(Calendar.DAY_OF_MONTH);

System.out.println(year+"-"+mon+"-"+day);//2020-8-26
System.out.println(year+"年"+mon+"月"+d+"日");//2020年8月26日

//从今年初到现在过去了多少天:
int t=a.get(Calendar.DAY_OF_YEAR);
System.out.println(t);//从2020年到现在过去了239天

//当前小时数
int shi=a.get(Calendar.HOUR);
System.out.println(shi+"时");//当前是几点
//当前分钟数
int fen=a.get(Calendar.MINUTE);
System.out.println(fen+"分");//当前分钟数;
//当前秒数
int miao =a.get(Calendar.SECOND);
System.out.println(miao+"秒");

System.out.println(year+"年"+mon+"月"+day+"日"+shi+"时"+fen+"分"+miao+"秒");//2020年8月26日8时46分25秒

//格式化输出
Date aa=new Date();
SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");

System.out.println(aa1.format(aa));
f2();//从当前时间计算n天后的日期
f3();//比较日期的先后,返回布尔值
}

public static void f2() {

Calendar c3 = Calendar.getInstance();
c3.add(Calendar.DATE,+10);
int year = c3.get(Calendar.YEAR);
int month = c3.get(Calendar.MONTH)+1;
int date = c3.get(Calendar.DATE);

System.out.println(year+"年"+month+"月"+date+"日");//十天后是九月五日
}

public static void f3() {
Calendar c1=Calendar.getInstance();
c1.set(2020,4,12);
Calendar c2=Calendar.getInstance();
c2.set(2020,6,10);
boolean b=c2.after(c1);//前面的与括号内相比较,在前还是在后(返回的是布尔值,true或者false)
System.out.println(b);
}

程序结果:

JAVA中的日期时间类用法总结

五.新增时间类

本地日期类:


LoclDate类 - 本地日期类
LocalDate a=LocalDate.now();

本地时间类:


LocalTime类 - 本地时间类
LocalTime time=LocalTime.now();

本地日期时间类:


LocalDateTime类 - 本地日期时间类;
LocalDateTime b=LocalDateTime.now();

常用方法:

代码演示:


public static void main(String[] args) {
f1();
f2();
f3();
f4();
f5();

}
public static void f1() {
LocalDate a=LocalDate.now();//当前日期
LocalTime time=LocalTime.now();//当前时间
LocalDateTime b=LocalDateTime.now();//当前年月日时分秒
System.out.println(a);
System.out.println(time);
System.out.println(b);
}
public static void f2() {
//更规范操作
LocalDateTime a=LocalDateTime.now();//当前年月日时分秒
LocalDate a1=a.toLocalDate();//当前日期
LocalTime a2=a.toLocalTime();//当前时间
System.out.println(a);
System.out.println(a1);
System.out.println(a2);
}
public static void f3() {
LocalDateTime a=LocalDateTime.now();
System.out.println(a.getYear());//输出年
System.out.println(a.getMonth());//月(英文)
System.out.println(a.getMonthValue());//月(中文)
System.out.println(a.getDayOfMonth());//日
System.out.println(a.getDayOfYear());//今年第一天到现在有多少天;
System.out.println(a.getDayOfWeek());//星期
System.out.println(a.getHour());//时
System.out.println(a.getMinute());//分钟
System.out.println(a.getSecond());//秒
}
public static void f4() {
//给定时间并输出
LocalDate a=LocalDate.of(2020,8, 26);
LocalTime b=LocalTime.of(9, 10, 03);
LocalDateTime c=LocalDateTime.of(a, b);

LocalDateTime d=LocalDateTime.of(2020, 8, 26, 9, 10, 03);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}

public static void f5() {
//按照指定的格式进行日期时间的输出
Date a=new Date();
DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分ss秒");
String t=w.format(LocalDateTime.now());
System.out.println(t);//当前时间

}

JAVA中的日期时间类用法总结

来源:https://blog.csdn.net/WYYCDY/article/details/108233262

标签:java,日期,时间
0
投稿

猜你喜欢

  • C#中的虚函数virtual

    2023-09-07 13:49:53
  • 使用maven自定义插件开发

    2022-10-07 02:21:37
  • SpringCloud之分布式配置中心Spring Cloud Config高可用配置实例代码

    2021-06-23 16:48:08
  • java web中 HttpClient模拟浏览器登录后发起请求

    2022-10-27 23:07:05
  • Android开发之获取短信验证码后按钮背景变化并且出现倒计时

    2022-12-21 10:09:40
  • C# 实现颜色渐变窗体控件详细讲解

    2021-12-31 07:10:28
  • Android给图片添加水印

    2022-12-02 20:25:44
  • Windows下C#的GUI窗口程序中实现调用Google Map的实例

    2022-01-10 10:31:07
  • SpringBoot @PostConstruct原理用法解析

    2022-02-02 18:05:46
  • C#实现截取验证码图片

    2023-08-04 04:22:56
  • Java 使用IO流实现大文件的分割与合并实例详解

    2023-08-23 09:33:33
  • Spring Security验证流程剖析及自定义验证方法

    2023-10-01 22:05:58
  • 进度条ProgressBar及ProgressDialog(实例)

    2021-09-24 01:07:42
  • JAVA如何调用wsdl过程详解

    2021-08-12 22:00:18
  • 详解在java中进行日期时间比较的4种方法

    2022-09-03 23:35:52
  • 一文彻底搞懂Java和JDK的版本命名问题

    2023-11-24 01:39:25
  • C#中的Socket编程详解

    2021-10-24 01:25:00
  • 最详细的文件上传下载实例详解(推荐)

    2021-12-12 08:18:13
  • Spring注解@DependsOn解析

    2022-01-11 08:20:35
  • android图像绘制(六)获取本地图片或拍照图片等图片资源

    2021-07-26 14:20:51
  • asp之家 软件编程 m.aspxhome.com