这篇文章主要介绍“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>
DateTime time = new DateTime(2018,4,23,23, 7,18,888); // 2018年4月23日23点7分18秒888毫秒
String time = dateTime.toString("yyyy-MM-dd hh:mm:ss.SSSa");
小写hh是12小时制,大写HH是24小时制
DateTimeFormatter format = DateTimeFormat .forPattern("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = DateTime.parse("2018-4-23 23:12:16", format);
DateTime time= new DateTime();
LocalDate start=new LocalDate(2018,4,23); LocalDate end=new LocalDate(2019, 06, 16); int days = Days.daysBetween(start, end).getDays();
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);
DateTime dateTime = DateTime.parse("2018-04-23"); dateTime = dateTime1.minusMillis(1); dateTime = dateTime1.minusHours(1); dateTime = dateTime1.minusSeconds(1);
DateTime time = new DateTime(); org.joda.time.DateTime.Property month = time.monthOfYear(); System.out.println("是否闰月:" + month.isLeap());
DateTime time = new DateTime(new Date()); Date date = time.toDate(); DateTime time2 = new DateTime(System.currentTimeMillis()); time2.getMillis();
Calendar calendar = Calendar.getInstance();
补充:
字符串转化为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.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())); // 设置项
需要注意的是,上边一种方法只能将日期写入到数据库中,为了能够将时间精确到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怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。