本文主要介绍了java中的DateTime的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
引入org.joda.time.DateTime
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.8</version>
</dependency>
1.初始化时间
DateTime time = new DateTime(2018,4,23,23, 7,18,888);
// 2018年4月23日23点7分18秒888毫秒
2.按格式输出时间(将DateTime格式转换为字符串)
String time = dateTime.toString("yyyy-MM-dd hh:mm:ss.SSSa");
小写hh是12小时制,大写HH是24小时制
3.将字符串转换为DateTime格式
DateTimeFormatter format = DateTimeFormat .forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dateTime = DateTime.parse("2018-4-23 23:12:16", format);
4.取得当前时间
DateTime time= new DateTime();
5.计算两个日期间隔的天数
LocalDate start=new LocalDate(2018,4,23);
LocalDate end=new LocalDate(2019, 06, 16);
int days = Days.daysBetween(start, end).getDays();
6.增加日期
DateTime dateTime = DateTime.parse("2018-04-23");
dateTime = dateTime1.plusDays(1);
dateTime = dateTime1.plusHours(2);
dateTime = dateTime1.plusMinutes(3);
dateTime = dateTime1.plusMonths(4);
dateTime = dateTime1.plusSeconds(5);
dateTime = dateTime1.plusWeeks(6);
dateTime = dateTime1.plusYears(7);
7.减少日期
DateTime dateTime = DateTime.parse("2018-04-23");
dateTime = dateTime1.minusMillis(1);
dateTime = dateTime1.minusHours(1);
dateTime = dateTime1.minusSeconds(1);
8.判断是否闰月
DateTime time = new DateTime();
org.joda.time.DateTime.Property month = time.monthOfYear();
System.out.println("是否闰月:" + month.isLeap());
9.DateTime与Date转换
DateTime time = new DateTime(new Date());
Date date = time.toDate();
DateTime time2 = new DateTime(System.currentTimeMillis());
time2.getMillis();
10.DateTime与Calendar转换
Calendar calendar = Calendar.getInstance();
补充:
字符串和java.utils.Date相互转换
字符串转化为Date类型
DateFormat format = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss"); // 这里填写的是想要进行转换的时间格式
String str = "2016-12-11 17:17:10"; // 时间字符串
java.utils.Date date = null;
try{
date = format.parse(str);
}catch(Exception e){
e.printStackTrace();
}
Date类型转化为字符串
DateFormat format = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss"); // 这里填写的是想要进行转换的时间格式
Date date = new java.utils.Date(); // 获取当前时间
String str = format.format(date);
// str = "2016-12-11 17:17:10"
java.sql.Date向数据库写入日期
这里就需要java.sql.Date和java.utils.Date进行相互转换了,这个转换一般比较容易,利用构造方法和.getTime() 方法进行转化。
java.utils.Date date = new java.utils.Date(); // 获取当前时间
java.sql.Date sql_date = new java.sql.Date(date.getTime()); //转换成java.sql.Date
接着使用PreparedStatement 向数据库中写入时间,即可。
ps.setDate(1, new java.sql.Date(date.getTime())); // 设置项
java.sql.Timestamp向数据库中写入时间
需要注意的是,上边一种方法只能将日期写入到数据库中,为了能够将时间精确到s甚至是ms。我们需要使用java.sql.Timestamp 类型。
java.sql.Timestamp 类型的构造函数也可以使用Long进行初始化
Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());
故在生成java.utils.Date时,将时间精确到s,然后使用预编译语句执行SQL语句
Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());
sql= "insert into flowmeter2(total,std_flow,temp,press,time) values(?,?,?,?,?)";
try {
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, total);
ps.setString(2, std_flow);
ps.setString(3, temp);
ps.setString(4, press);
ps.setTimestamp(5, timeStamp);
ps.executeUpdate();
System.out.println("添加成功!");
connection.close();
到此这篇关于java中的DateTime的具体使用的文章就介绍到这了,更多相关java DateTime使用内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:java中的DateTime的具体使用
基础教程推荐
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- Java并发编程进阶之线程控制篇 2023-03-07
- java实现多人聊天系统 2023-05-19
- springboot自定义starter方法及注解实例 2023-03-31
- Java文件管理操作的知识点整理 2023-05-19
- java基础知识之FileInputStream流的使用 2023-08-11
- Java实现查找文件和替换文件内容 2023-04-06
- Java实现线程插队的示例代码 2022-09-03
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- Java数据结构之对象比较详解 2023-03-07