日期格式的使用DateTimeFormatter与LocalDateTime
日期格式的使用DateTimeFormatter与LocalDateTime
public static void main(String[] args) {
String time1 = "2019-02-07 07:43:53";
String time2 = "20190207074353";
//时间
//字符串转化
DateTimeFormatter formater1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter formater2 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
LocalDateTime timeDate1, timeDate2;
//将指定格式的字符串转化为LocalDateTime
timeDate1 = LocalDateTime.parse(time1, formater1);
timeDate2 = LocalDateTime.parse(time2, formater2);
//字符串格式1转日期==2019-02-07T07:43:53
System.out.println("字符串格式1转日期==" + timeDate1);
//字符串格式2转日期==2019-02-07T07:43:53
System.out.println("字符串格式2转日期==" + timeDate2);
//LocalDateTime=LocalDate+LocalTime
LocalDate localDate = timeDate1.toLocalDate();
LocalTime localTime = timeDate1.toLocalTime();
//startdate年月日===2019-02-07
System.out.println("startdate年月日===" + timeDate1.toLocalDate());
//startdate时分秒===07:43:53
System.out.println("startdate时分秒===" + timeDate1.toLocalTime());
//MM 02月02日 M 2月2日
DateTimeFormatter yearFormater = DateTimeFormatter.ofPattern("yyyy-M-d");
DateTimeFormatter millFormater = DateTimeFormatter.ofPattern("HH:mm");
//将日期按照指定格式 进行格式化
String yearFor = localDate.format(yearFormater);
String millFor = localTime.format(millFormater);
//格式化日期2019-2-7===2019-2-7
System.out.println("格式化日期2019-2-7===" + yearFor);
//格式化日期07:43===07:43
System.out.println("格式化日期07:43===" + millFor);
}
//2022-01-16更新
public static void main(String[] args) throws ParseException {
//1.字符串强转日期 日期格式化字符串
String str = "2019-01-11 10:07:09";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = formatter.parse(str);
String dateStr = formatter2.format(date);
//===20190111100709
System.out.println("格式化后的日期格式===" + dateStr);
//2.获取系统当前日期
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
Date time = Calendar.getInstance().getTime();// get current instance of the calendar
//current==Sun Jan 16 16:32:36 CST 2022 一般都需要格式化
System.out.println("current1==" + time);
System.out.println("current2==" + now);
//格式化==20220116164036
System.out.println("currentFormat1==" + formatter2.format(time));
//格式化==2022-01-16 16:37:05
System.out.println("currentFormat2==" + now.format(dateTimeFormatter2));
//3.计算相差分钟
String starttime = "20211229174229";
LocalDateTime startDate = LocalDateTime.parse(starttime, dateTimeFormatter);
long minutes = Duration.between(startDate, LocalDateTime.now()).toMinutes();
if (minutes > 60) {
System.out.println("相差分钟===" + minutes);
}
//4.计算相差天数--通用
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 自定义时间格式
String a = "2021-1-1";
String b = "2021-3-1";
Calendar calendar_a = Calendar.getInstance(); // 获取日历对象
Calendar calendar_b = Calendar.getInstance();
try {
Date date_a = simpleDateFormat.parse(a); // 字符串转Date
Date date_b = simpleDateFormat.parse(b);
calendar_a.setTime(date_a); // 设置日历
calendar_b.setTime(date_b);
} catch (ParseException e) { // 格式化异常
e.printStackTrace();
}
long time_a = calendar_a.getTimeInMillis();
long time_b = calendar_b.getTimeInMillis();
// 计算相差天数
long dayInter = (time_b - time_a) / (1000 * 3600 * 24);
System.out.println("计算相差天数==" + dayInter);
//5.日期之间的比较
//now>startDate 返回1 now=startDate 返回0 now<startDate 返回-1
int flag = LocalDateTime.now().compareTo(startDate);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!