java中的DateTime的具体使用

网友投稿 231 2022-08-25


java中的DateTime的具体使用

目录1.初始化时间2.按格式输出时间(将DateTime格式转换为字符串)3.将字符串转换为DateTime格式4.取得当前时间5.计算两个日期间隔的天数6.增加日期7.减少日期8.判断是否闰月9.DateTime与Date转换10.DateTime与Calendar转换字符串和java.utils.Date相互转换 java.sql.Date向数据库写入日期java.sql.Timestamp向数据库中写入时间

引入org.joda.time.DateTime

joda-time

joda-time

2.9.8

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-http://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();


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python流程控制(Python流程控制语句有哪些)
下一篇:Python标准库time详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~