Joda-Time的使用以及其与jdk中时间类型的相互转换
来源:互联网 发布:js canva绘制渐变色线 编辑:程序博客网 时间:2024/06/11 13:37
Joda-Time存在的目的:
任何企业应用程序都需要处理时间问题。应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径。使用 JDK 完成这项任务将非常痛苦和繁琐的,而Joda-Time就是在这样的背景下诞生的,所以说Joda-Time相较于原生的java中的Date和Calendar时间操作而言,功能更加的强大,但是操作却更加的简化,下面是其显示的代码示例:
package com.makotogroup.joda;import java.util.Calendar;import java.util.Date;import java.util.Locale;import org.apache.log4j.Logger;import org.joda.time.DateTime;import org.joda.time.format.DateTimeFormat;import org.joda.time.format.DateTimeFormatter;public class TestDateTime { private static Logger log = Logger.getLogger(TestDateTime.class); /** * 获取当前时间 * @return */ public DateTime getCurrentTime(){ return new DateTime(); } public static void main(String[] args) { //当前的Joda-time版本为:joda-time-2.9.9.jar //Joda-time的版本不同,其支持的方法也不尽相同,比如说在joda-time-1.6.jar中,并不支持 //DateTime.parse(String,DateTimeFormatter),而在joda-time-2.9.9.jar中是支持的 TestDateTime testDateTime=new TestDateTime(); //获取当前时间 DateTime dateTime=testDateTime.getCurrentTime(); //获取当前时间字符串 String dateTimeString=dateTime.toString("yyyy-MM-dd HH:mm:ss"); log.info("当前时间:"+dateTimeString); //获取年 log.info("当前年:"+dateTime.getYear()); //获取月 log.info("当前月:"+dateTime.getMonthOfYear()); //获取日 log.info("当前日:"+dateTime.getDayOfMonth()); //获取小时 log.info("当前小时:"+dateTime.getHourOfDay()); //获取分钟 log.info("当前分钟:"+dateTime.getMinuteOfHour()); //获取秒 log.info("当前秒:"+dateTime.getSecondOfMinute()); //获取毫秒 log.info("当前毫秒:"+dateTime.getMillisOfSecond()); //获取当前时间戳 log.info("当前的时间戳为:"+dateTime.getMillis()); //获取周 log.info("当前周为:"+dateTime.getWeekOfWeekyear()); //当前时区为(东八区:INFO - +08:00): log.info("当前周为:"+dateTime.getZone().toString()); //修改周: log.info("当前周加上两周,结果为:"+dateTime.plusWeeks(2).getWeekOfWeekyear()); //减去2年 log.info("减去两年,结果为:"+dateTime.plusYears(-2).getYear()); //String转换为Joda-time DateTimeFormatter dtf=DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); //方法一 DateTime dateTime2 = DateTime.parse(dateTimeString, dtf); //方法二 DateTime dateTime3=dtf.parseDateTime(dateTimeString); log.info("格式化后的结果1:"+dateTime2); log.info("格式化后的结果2:"+dateTime3); //将Joda-time转换成String log.info("Joda-time转换成String:"+dateTime.toString("yyyy-MM-dd HH:mm:ss a")); //将Date转换成Joda-time Date date=new Date(); DateTime dateTime4=new DateTime(date); log.info("Date转DateTime:"+dateTime4); //将Joda-time转换成Date log.info("Joda-time转换成Date:"+dateTime4.toDate()); //将Calendar转换成Joda-time Calendar calendar=Calendar.getInstance(); DateTime dateTime5=new DateTime(calendar); log.info("将Calendar转换成DateTime:"+dateTime5); //Joda-time转换成Calendar Calendar calendar2=dateTime5.toCalendar(Locale.CHINA); log.info("将Joda-time转换成Calendar:"+calendar2); //自定义时间 //参数分别是:年,月,日,时,分,秒,毫秒 DateTime dateTime6=new DateTime(2015,1,1,1,1,1,1); log.info("自定义的时间:"+dateTime6.toString("yyyy-MM-dd HH:mm:ss a")); //将Joda-time转换成long类型 log.info("Joda-time转换成long类型:"+dateTime6.getMillis()); //将long类型转换成Joda-time long time = 1420045261001L; DateTime dateTime7 = new DateTime(time); log.info("long转换成Joda-time:"+dateTime7); }}
最后附上Joda-Time api文档的官方地址:
http://www.joda.org/joda-time/apidocs/index.html
0 0
- Joda-Time的使用以及其与jdk中时间类型的相互转换
- Joda-Time Date(jdk) String相互转换
- joda-time时间框架的使用
- joda-time的使用
- joda-time的使用
- joda-time的使用
- joda-time的使用
- joda-time的使用
- Joda Time的使用
- Joda-Time的使用
- Joda-time的使用
- Joda-Time的使用
- joda-time的使用
- Joda Time--jdk日期时间库的完美替代
- Joda-Time 与 Calendar使用的比较
- JODA-Time 日期与时间类库的学习
- Joda-Time的日常使用
- Java、MySql中时间类型与字符串类型的相互转换
- Kaggle入门——使用scikit-learn解决DigitRecognition问题
- 详解SQLite中的数据类型
- 常用STL算法1_遍历
- nandflash控制器
- DeepLearning tutorial(1)Softmax回归原理简介+代码详解
- Joda-Time的使用以及其与jdk中时间类型的相互转换
- codeforces 779A
- springboot项目创建问题
- 有符号整数的移位运算
- Download data from new EOSDIS system
- 一个工作分配的算法解析
- 中断控制器
- DeepLearning tutorial(2)机器学习算法在训练过程中保存参数
- 两个方法解决DZ(Discuz ! x3.2 )论坛安装模板不是正版应用的问题