一、获取系统时间

(方式太多了,只介绍三个)

1.1 java.util.Date
java.util.Date dt = new java.util.Date();
System.out.println(dt);  // yyyy-MM-dd HH:mm:ss时间
System.out.println(dt.getTime());  // 时间戳
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(dt));  //格式化后的时间

输出:
输出内容

1.2 hutool
System.out.println(Convert.toDate(DateUtil.now()).getTime()); //时间戳
System.out.println(Convert.toDate(DateUtil.now())); //yyyy-MM-dd HH:mm:ss时间

输出:
输出内容

1.3 LocalDateTime
String timeStr1= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String timeStr2=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
System.out.println("当前时间为:"+timeStr1);
System.out.println("当前时间为:"+timeStr2);

输出:
在这里插入图片描述

二、java.util.date 和 java.sql.date互转

2.1 java.util.date 转 java.sql.date
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.sql.Time sTime=new java.sql.Time(utilDate.getTime());
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());

这里所有时间日期都可以被SimpleDateFormat格式化format()

SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
f.format(stp);
f.format(sTime);
f.format(sqlDate);
f.format(utilDate)
java.sql.Date sqlDate=java.sql.Date.valueOf(" 2005-12-12"搜索);
utilDate=new java.util.Date(sqlDate.getTime());

另类取得年月日的方法:

import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();

如果希望得到YYYYMMDD的格式SimpleDateFormat

sy1=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sy1.format(date);

如果希望分开得到年,月,日SimpleDateFormat

sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);
2.1.1 转 java.util.date
System.out.println(Convert.toDate(DateUtil.now()).getTime()); //时间戳
System.out.println(Convert.toDate(DateUtil.now())); //yyyy-MM-dd HH:mm:ss时间

输出:
输出内容

2.1.2 转 java.util.Timestamp (yyyy-MM-dd hh:mm:ss)
String timeStr1= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String timeStr2=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
System.out.println("当前时间为:"+timeStr1);
System.out.println("当前时间为:"+timeStr2);
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date date= sdf.parse(timeStr1);//先把字符串转为util.Date对象
java.sql.Timestamp ts= new java.sql.Timestamp(date.getTime());//再转换为sql.Date对象
System.out.println("当前时间为:"+ts);

结果:
在这里插入图片描述
可以看到 毫秒仍然存在.0

2.1.2 转 java.util.Timestamp 去掉毫秒
 //获取当前系统时间
Timestamp date=new Timestamp(System.currentTimeMillis());
//定义格式,不显示毫秒
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//将当前系统时间转换为不显示毫秒情况,保存为string类型在dateNow中
String dateNow= df.format(date);
//控制台显示dateNow的值
System.out.println("系统时间:"+dateNow);

结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/1c2b7619711f4e31bab4f8d9a47a1226.png

2.2 java.sql.date 转 java.util.date
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime()); 

输出:
输出内容

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐