文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java中的DateTime怎么使用

2023-06-29 07:49

关注

这篇文章主要介绍“java中的DateTime怎么使用”,在日常操作中,相信很多人在java中的DateTime怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯