服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java中的DateTime的具体使用

java中的DateTime的具体使用

2022-08-01 12:10姜茶 Java教程

本文主要介绍了java中的DateTime的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

引入org.joda.time.DateTime

?
1
2
3
4
5
<dependency>
   <groupId>joda-time</groupId>
   <artifactId>joda-time</artifactId>
   <version>2.9.8</version>
</dependency>

1.初始化时间

?
1
2
DateTime time = new DateTime(2018,4,23,23, 7,18,888);
// 2018年4月23日23点7分18秒888毫秒  

2.按格式输出时间(将DateTime格式转换为字符串)

?
1
String time = dateTime.toString("yyyy-MM-dd hh:mm:ss.SSSa");

小写hh是12小时制,大写HH是24小时制

3.将字符串转换为DateTime格式

?
1
2
DateTimeFormatter format = DateTimeFormat .forPattern("yyyy-MM-dd HH:mm:ss");  
DateTime dateTime = DateTime.parse("2018-4-23 23:12:16", format); 

4.取得当前时间

?
1
DateTime time= new DateTime();

5.计算两个日期间隔的天数

?
1
2
3
 LocalDate start=new LocalDate(2018,4,23);    
 LocalDate end=new LocalDate(2019, 06, 16);    
 int days = Days.daysBetween(start, end).getDays(); 

6.增加日期

?
1
2
3
4
5
6
7
8
      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.减少日期

?
1
2
3
4
  DateTime dateTime = DateTime.parse("2018-04-23");  
                dateTime = dateTime1.minusMillis(1);  
                dateTime = dateTime1.minusHours(1);  
                dateTime = dateTime1.minusSeconds(1);

8.判断是否闰月

?
1
2
3
DateTime time = new DateTime();   
 org.joda.time.DateTime.Property month = time.monthOfYear();   
  System.out.println("是否闰月:" + month.isLeap()); 

9.DateTime与Date转换

?
1
2
3
4
DateTime time = new DateTime(new Date());   
 Date date = time.toDate();   
 DateTime time2 = new DateTime(System.currentTimeMillis());   
 time2.getMillis(); 

10.DateTime与Calendar转换

?
1
Calendar calendar = Calendar.getInstance();

补充:

字符串和java.utils.Date相互转换

字符串转化为Date类型

?
1
2
3
4
5
6
7
8
9
10
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类型转化为字符串

?
1
2
3
4
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() 方法进行转化。

?
1
2
java.utils.Date date = new java.utils.Date();   // 获取当前时间
java.sql.Date sql_date = new java.sql.Date(date.getTime()); //转换成java.sql.Date

接着使用PreparedStatement 向数据库中写入时间,即可。

?
1
ps.setDate(1, new java.sql.Date(date.getTime()));   // 设置项

java.sql.Timestamp向数据库中写入时间

需要注意的是,上边一种方法只能将日期写入到数据库中,为了能够将时间精确到s甚至是ms。我们需要使用java.sql.Timestamp 类型。
java.sql.Timestamp 类型的构造函数也可以使用Long进行初始化

?
1
2
Date date = new Date(); 
Timestamp timeStamp = new Timestamp(date.getTime()); 

故在生成java.utils.Date时,将时间精确到s,然后使用预编译语句执行SQL语句

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/jcq521045349/article/details/53574177

延伸 · 阅读

精彩推荐