为大家提供一个好的时间工具类DateTime

虽然网上有什么date4j,但是jar太纠结了,先给出源码,可以继承到自己的util包中,作为一个资深程序员,我相信都有不少好的util工具类,我也希望经过此次分享,能带动技术大牛们能分享出自己的好用的工具类。

先看源码

  1. /* 
  2.  * 岸思科技开发平台(JAVA) SDK 
  3.  * 
  4.  * Copyright (c) 2014, Ansitech Network Technology Co.,Ltd All rights reserved. 
  5.  * http://www.ansitech.com/java/sdk/ 
  6.  * 
  7.  * Licensed under the Apache License, Version 2.0 (the "License"); 
  8.  * you may not use this file except in compliance with the License. 
  9.  * You may obtain a copy of the License at 
  10.  * 
  11.  *      http://www.apache.org/licenses/LICENSE-2.0 
  12.  * 
  13.  * Unless required by applicable law or agreed to in writing, software 
  14.  * distributed under the License is distributed on an "AS IS" BASIS, 
  15.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
  16.  * See the License for the specific language governing permissions and 
  17.  * limitations under the License. 
  18.  */  
  19. package com.ansitech.core.system;  
  20.   
  21. import java.io.Serializable;  
  22. import java.text.DateFormat;  
  23. import java.text.ParseException;  
  24. import java.text.SimpleDateFormat;  
  25. import java.util.Calendar;  
  26. import java.util.Date;  
  27.   
  28. /** 
  29.  * 日期时间类 
  30.  * 
  31.  * <p>对Calendar的封装,以便于使用</p> 
  32.  * 
  33.  * @author qsyang 
  34.  * @version 1.0 
  35.  */  
  36. public class DateTime implements Serializable {  
  37.   
  38.     /** 
  39.      * yyyy-MM-dd HH:mm:ss 格式 
  40.      */  
  41.     public static final String DEFAULT_DATE_TIME_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";  
  42.     /** 
  43.      * yyyy-MM-dd HH:mm 格式 
  44.      */  
  45.     public static final String DEFAULT_DATE_TIME_HHmm_FORMAT_PATTERN = "yyyy-MM-dd HH:mm";  
  46.     /** 
  47.      * yyyy-MM-dd HH 格式 
  48.      */  
  49.     public static final String DEFAULT_DATE_TIME_HH_FORMAT_PATTERN = "yyyy-MM-dd HH";  
  50.     /** 
  51.      * yyyy-MM-dd 格式 
  52.      */  
  53.     public static final String DEFAULT_DATE_FORMAT_PATTERN = "yyyy-MM-dd";  
  54.     /** 
  55.      * HH:mm:ss 格式 
  56.      */  
  57.     public static final String DEFAULT_TIME_FORMAT_PATTERN = "HH:mm:ss";  
  58.     /** 
  59.      * HH:mm 格式 
  60.      */  
  61.     public static final String DEFAULT_TIME_HHmm_FORMAT_PATTERN = "HH:mm";  
  62.     /** 
  63.      * 年 
  64.      * <p>可以通过DateTime.now().get(DateTime.YEAR_FIELD)来获取当前时间的年</p> 
  65.      */  
  66.     public static final int YEAR_FIELD = java.util.Calendar.YEAR;  
  67.     /** 
  68.      * 月 
  69.      * <p>可以通过DateTime.now().get(DateTime.MONTH_FIELD)来获取当前时间的月</p> 
  70.      */  
  71.     public static final int MONTH_FIELD = java.util.Calendar.MONTH;  
  72.     /** 
  73.      * 日 
  74.      * <p>可以通过DateTime.now().get(DateTime.DAY_FIELD)来获取当前时间的日</p> 
  75.      */  
  76.     public static final int DAY_FIELD = java.util.Calendar.DATE;  
  77.     /** 
  78.      * 小时 <p>可以通过DateTime.now().get(DateTime.HOUR_FIELD)来获取当前时间的小时</p> 
  79.      */  
  80.     public static final int HOUR_FIELD = java.util.Calendar.HOUR_OF_DAY;  
  81.     /** 
  82.      * 分钟 <p>可以通过DateTime.now().get(DateTime.MINUTE_FIELD)来获取当前时间的分钟</p> 
  83.      */  
  84.     public static final int MINUTE_FIELD = java.util.Calendar.MINUTE;  
  85.     /** 
  86.      * 秒 
  87.      * <p>可以通过DateTime.now().get(DateTime.SECOND_FIELD)来获取当前时间的秒</p> 
  88.      */  
  89.     public static final int SECOND_FIELD = java.util.Calendar.SECOND;  
  90.     /** 
  91.      * 毫秒 <p>可以通过DateTime.now().get(DateTime.MILLISECOND_FIELD)来获取当前时间的毫秒</p> 
  92.      */  
  93.     public static final int MILLISECOND_FIELD = java.util.Calendar.MILLISECOND;  
  94.     private java.util.Calendar c;   //日历类  
  95.   
  96.     /** 
  97.      * 获取一个DateTime,此DateTime尚未初始化,表示的时间是1970-1-1 00:00:00.000 
  98.      * <p>要获取当前系统时间,请用DateTime.now();</p> 
  99.      */  
  100.     public DateTime() {  
  101.         c = Calendar.getInstance();  
  102.         c.clear();  
  103.     }  
  104.   
  105.     /** 
  106.      * 设置时间 <p>可以传入一个时间对象,将会被转换为DateTime类型</p> 
  107.      * 
  108.      * @param date 时间对象 
  109.      */  
  110.     public DateTime(java.util.Date date) {  
  111.         c = Calendar.getInstance();  
  112.         c.setTime(date);  
  113.     }  
  114.   
  115.     /** 
  116.      * 设置时间 <p>可以传入一个日历对象,将会被转换为DateTime类型</p> 
  117.      * 
  118.      * @param calendar 日历对象 
  119.      */  
  120.     public DateTime(java.util.Calendar calendar) {  
  121.         this.c = calendar;  
  122.     }  
  123.   
  124.     /** 
  125.      * 获取当前系统时间 
  126.      * 
  127.      * @return DateTime 当前系统时间 
  128.      */  
  129.     public static DateTime now() {  
  130.         Calendar calendar = Calendar.getInstance();  
  131.         return new DateTime(calendar);  
  132.     }  
  133.   
  134.     /** 
  135.      * 用毫秒来设置时间, 时间的基数是1970-1-1 00:00:00.000; <p>比如,new DateTime(1000) 
  136.      * 则表示1970-1-1 00:00:01.000;<br> 用负数表示基础时间以前的时间</p> 
  137.      * 
  138.      * @param milliseconds 毫秒 
  139.      */  
  140.     public DateTime(long milliseconds) {  
  141.         c = Calendar.getInstance();  
  142.         c.setTimeInMillis(milliseconds);  
  143.     }  
  144.   
  145.     /** 
  146.      * 转换为Date类型 
  147.      * 
  148.      * @return Date时间 
  149.      */  
  150.     public Date toDate() {  
  151.         return c.getTime();  
  152.     }  
  153.   
  154.     /** 
  155.      * 转换成 日历对象 
  156.      * 
  157.      * @return Calendar对象 
  158.      */  
  159.     public java.util.Calendar toCalendar() {  
  160.         return c;  
  161.     }  
  162.   
  163.     /** 
  164.      * 转换成java.sql.Date(yyyy-MM-dd)日期 
  165.      * 
  166.      * @return java.sql.Date日期 
  167.      */  
  168.     public java.sql.Date toSqlDate() {  
  169.         return new java.sql.Date(c.getTimeInMillis());  
  170.     }  
  171.   
  172.     /** 
  173.      * 转换为java.sql.Time(hh:mm:ss)时间 
  174.      * 
  175.      * @return java.sql.Time时间 
  176.      */  
  177.     public java.sql.Time toSqlTime() {  
  178.         return new java.sql.Time(c.getTimeInMillis());  
  179.     }  
  180.   
  181.     /** 
  182.      * 转换为java.sql.Timestamp(时间戳) 
  183.      * 
  184.      * @return java.sql.Timestamp时间戳 
  185.      */  
  186.     public java.sql.Timestamp toSqlTimestamp() {  
  187.         return new java.sql.Timestamp(c.getTimeInMillis());  
  188.     }  
  189.   
  190.     /** 
  191.      * 解析时间 <p>根据DateTime中的DEFAULT_TIME_FORMAT_PATTERN规则转换为hh:mm:ss或hh:mm格式</p> 
  192.      * 
  193.      * @param time 字符串格式时间 
  194.      * @return DateTime 日期时间对象 
  195.      */  
  196.     public static DateTime parseTime(String time) throws java.text.ParseException {  
  197.         try {  
  198.             return DateTime.parseDateTime(time, DateTime.DEFAULT_TIME_FORMAT_PATTERN);  
  199.         } catch (ParseException e) {  
  200.             return DateTime.parseDateTime(time, DateTime.DEFAULT_TIME_HHmm_FORMAT_PATTERN);  
  201.         }  
  202.     }  
  203.   
  204.     /** 
  205.      * 解析日期 <p>根据DateTime中的DEFAULT_DATE_FORMAT_PATTERN规则转换为yyyy-MM-dd格式</p> 
  206.      * 
  207.      * @param date 字符串格式日期 
  208.      * @return DateTime 日期时间类 
  209.      */  
  210.     public static DateTime parseDate(String date) throws java.text.ParseException {  
  211.         return DateTime.parseDateTime(date, DateTime.DEFAULT_DATE_FORMAT_PATTERN);  
  212.     }  
  213.   
  214.     /** 
  215.      * 解析日期时间 <p>根据DateTime中的DEFAULT_DATE_TIME_FORMAT_PATTERN规则转换为yyyy-MM-dd 
  216.      * HH:mm:ss格式</p> 
  217.      * 
  218.      * @param datetime 字符串格式日期时间 
  219.      * @return DateTime 日期时间对象 
  220.      */  
  221.     public static DateTime parseDateTime(String datetime) throws java.text.ParseException {  
  222.         DateTime result = null;  
  223.         //尝试按yyyy-MM-dd HH:mm:ss分析  
  224.         try {  
  225.             result = DateTime.parseDateTime(datetime, DateTime.DEFAULT_DATE_TIME_FORMAT_PATTERN);  
  226.         } catch (ParseException e) {  
  227.             //解析错误  
  228.             result = null;  
  229.         }  
  230.   
  231.         //尝试按yyyy-MM-dd HH:mm分析  
  232.         if (null == result) {  
  233.             try {  
  234.                 result = DateTime.parseDateTime(datetime, DateTime.DEFAULT_DATE_TIME_HHmm_FORMAT_PATTERN);  
  235.             } catch (ParseException e) {  
  236.                 //解析错误  
  237.                 result = null;  
  238.             }  
  239.         }  
  240.   
  241.         //尝试按yyyy-MM-dd HH分析  
  242.         if (null == result) {  
  243.             try {  
  244.                 result = DateTime.parseDateTime(datetime, DateTime.DEFAULT_DATE_TIME_HH_FORMAT_PATTERN);  
  245.             } catch (ParseException e) {  
  246.                 //解析错误  
  247.                 result = null;  
  248.             }  
  249.         }  
  250.   
  251.         //尝试按yyyy-MM-dd分析  
  252.         if (null == result) {  
  253.             try {  
  254.                 result = DateTime.parseDate(datetime);  
  255.             } catch (ParseException e) {  
  256.                 //解析错误  
  257.                 result = null;  
  258.             }  
  259.         }  
  260.   
  261.         //尝试按时间分析  
  262.         if (null == result) {  
  263.             result = DateTime.parseTime(datetime);  
  264.         }  
  265.         return result;  
  266.     }  
  267.   
  268.     /** 
  269.      * 用指定的pattern分析字符串 <p>pattern的用法参见java.text.SimpleDateFormat</p> 
  270.      * 
  271.      * @param datetime 字符串格式日期时间 
  272.      * @param pattern 日期解析规则 
  273.      * @return DateTime 日期时间对象 
  274.      * @see java.text.SimpleDateFormat 
  275.      */  
  276.     public static DateTime parseDateTime(String datetime, String pattern) throws java.text.ParseException {  
  277.         SimpleDateFormat fmt = (SimpleDateFormat) DateFormat.getDateInstance();  
  278.         fmt.applyPattern(pattern);  
  279.         return new DateTime(fmt.parse(datetime));  
  280.     }  
  281.   
  282.     /** 
  283.      * 转换为 DEFAULT_DATE_FORMAT_PATTERN (yyyy-MM-dd) 格式字符串 
  284.      * 
  285.      * @return yyyy-MM-dd格式字符串 
  286.      */  
  287.     public String toDateString() {  
  288.         return toDateTimeString(DateTime.DEFAULT_DATE_FORMAT_PATTERN);  
  289.     }  
  290.   
  291.     /** 
  292.      * 转换为 DEFAULT_TIME_FORMAT_PATTERN (HH:mm:ss) 格式字符串 
  293.      * 
  294.      * @return HH:mm:ss 格式字符串 
  295.      */  
  296.     public String toTimeString() {  
  297.         return toDateTimeString(DateTime.DEFAULT_TIME_FORMAT_PATTERN);  
  298.     }  
  299.   
  300.     /** 
  301.      * 转换为 DEFAULT_DATE_TIME_FORMAT_PATTERN (yyyy-MM-dd HH:mm:ss) 格式字符串 
  302.      * 
  303.      * @return yyyy-MM-dd HH:mm:ss 格式字符串 
  304.      */  
  305.     public String toDateTimeString() {  
  306.         return toDateTimeString(DateTime.DEFAULT_DATE_TIME_FORMAT_PATTERN);  
  307.     }  
  308.   
  309.     /** 
  310.      * 使用日期转换pattern <p>pattern的用法参见java.text.SimpleDateFormat</p> 
  311.      * 
  312.      * @param pattern 日期解析规则 
  313.      * @return 按规则转换后的日期时间字符串 
  314.      */  
  315.     public String toDateTimeString(String pattern) {  
  316.         SimpleDateFormat fmt = (SimpleDateFormat) DateFormat.getDateInstance();  
  317.         fmt.applyPattern(pattern);  
  318.         return fmt.format(c.getTime());  
  319.     }  
  320.   
  321.     /** 
  322.      * 获取DateTime所表示时间的某个度量的值 
  323.      * 
  324.      * @param field int 取值为:<br> DateTime.YEAR_FIELD -- 返回年份<br> 
  325.      * DateTime.MONTH_FIELD -- 返回月份,一月份返回1,二月份返回2,依次类推<br> DateTime.DAY_FIELD -- 
  326.      * 返回当前的天(本月中的)<br> DateTime.HOUR_FIELD -- 返回小时数(本天中的),24小时制<br> 
  327.      * DateTime.MINUTE_FIELD -- 返回分钟数(本小时中的)<br> DateTime.SECOND_FIELD -- 
  328.      * 返回秒数(本分钟中的)<br> DateTime.MILLISECOND_FIELD -- 返回毫秒数(本秒中的) 
  329.      * @return int field对应的值 
  330.      */  
  331.     public int get(int field) {  
  332.         //月份需要+1(月份从0开始)  
  333.         if (DateTime.MONTH_FIELD == field) {  
  334.             return c.get(field) + 1;  
  335.         } else {  
  336.             return c.get(field);  
  337.         }  
  338.     }  
  339.   
  340.     /** 
  341.      * 返回自 1970-1-1 0:0:0 至此时间的毫秒数 
  342.      * 
  343.      * @return long 毫秒数 
  344.      */  
  345.     public long getTimeInMillis() {  
  346.         return c.getTimeInMillis();  
  347.     }  
  348.   
  349.     /** 
  350.      * 设置field字段的值 
  351.      * 
  352.      * @param field int 取值为:<br> DateTime.YEAR_FIELD -- 年份<br> 
  353.      * DateTime.MONTH_FIELD -- 月份,一月份从1开始<br> DateTime.DAY_FIELD -- 
  354.      * 当前的天(本月中的)<br> DateTime.HOUR_FIELD -- 小时数(本天中的),24小时制<br> 
  355.      * DateTime.MINUTE_FIELD -- 分钟数(本小时中的)<br> DateTime.SECOND_FIELD -- 
  356.      * 秒数(本分钟中的)<br> DateTime.MILLISECOND_FIELD -- 毫秒数(本秒中的) 
  357.      * @param value 
  358.      */  
  359.     public void set(int field, int value) {  
  360.         //月份需要-1(月份从0开始)  
  361.         if (DateTime.MONTH_FIELD == field) {  
  362.             c.set(field, value - 1);  
  363.         } else {  
  364.             c.set(field, value);  
  365.         }  
  366.     }  
  367.   
  368.     /** 
  369.      * 设置DateTime日期的年/月/日 
  370.      * 
  371.      * @param year 年 
  372.      * @param month 月 
  373.      * @param day 日 
  374.      */  
  375.     public void set(int year, int month, int day) {  
  376.         set(DateTime.YEAR_FIELD, year);  
  377.         set(DateTime.MONTH_FIELD, month);  
  378.         set(DateTime.DAY_FIELD, day);  
  379.     }  
  380.   
  381.     /** 
  382.      * 设置DateTime日期的年/月/日/小时 
  383.      * 
  384.      * @param year 年 
  385.      * @param month 月 
  386.      * @param day 日 
  387.      * @param hour 小时 
  388.      */  
  389.     public void set(int year, int month, int day, int hour) {  
  390.         set(year, month, day);  
  391.         set(DateTime.HOUR_FIELD, hour);  
  392.     }  
  393.   
  394.     /** 
  395.      * 设置DateTime日期的年/月/日/小时/分钟 
  396.      * 
  397.      * @param year 年 
  398.      * @param month 月 
  399.      * @param day 日 
  400.      * @param hour 小时 
  401.      * @param minute 分钟 
  402.      */  
  403.     public void set(int year, int month, int day, int hour, int minute) {  
  404.         set(year, month, day, hour);  
  405.         set(DateTime.MINUTE_FIELD, minute);  
  406.     }  
  407.   
  408.     /** 
  409.      * 设置DateTime日期的年/月/日/小时/分钟/秒 
  410.      * 
  411.      * @param year 年 
  412.      * @param month 月 
  413.      * @param day 日 
  414.      * @param hour 小时 
  415.      * @param minute 分钟 
  416.      * @param second 秒 
  417.      */  
  418.     public void set(int year, int month, int day, int hour, int minute, int second) {  
  419.         set(year, month, day, hour, minute);  
  420.         set(DateTime.SECOND_FIELD, second);  
  421.     }  
  422.   
  423.     /** 
  424.      * 设置DateTime日期的年/月/日/小时/分钟/秒/毫秒 
  425.      * 
  426.      * @param year 年 
  427.      * @param month 月 
  428.      * @param day 日 
  429.      * @param hour 小时 
  430.      * @param minute 分钟 
  431.      * @param second 秒 
  432.      * @param milliSecond 毫秒 
  433.      */  
  434.     public void set(int year, int month, int day, int hour, int minute, int second, int milliSecond) {  
  435.         set(year, month, day, hour, minute, second);  
  436.         set(DateTime.MILLISECOND_FIELD, milliSecond);  
  437.     }  
  438.   
  439.     /** 
  440.      * 对field值进行相加 <p>add() 的功能非常强大,add 可以对 DateTime 的字段进行计算。<br> 
  441.      * 如果需要减去值,那么使用负数值就可以了,如 add(field, -value)。<br> 
  442.      * 或者调用DateTime.reduce(int,int)进行日期相减</p> 
  443.      * 
  444.      * @param field int 取值为:<br>   DateTime.YEAR_FIELD -- 年份<br> 
  445.      *   DateTime.MONTH_FIELD -- 月份,一月份从1开始<br> 
  446.      *   DateTime.DAY_FIELD -- 当前的天(本月中的)<br> 
  447.      *   DateTime.HOUR_FIELD -- 小时数(本天中的),24小时制<br> 
  448.      *   DateTime.MINUTE_FIELD -- 分钟数(本小时中的)<br> 
  449.      *   DateTime.SECOND_FIELD -- 秒数(本分钟中的)<br> 
  450.      *   DateTime.MILLISECOND_FIELD -- 毫秒数(本秒中的) 
  451.      * @param amount 数量(如果数量小于0则为相减) 
  452.      */  
  453.     public void add(int field, int amount) {  
  454.         c.add(field, amount);  
  455.     }  
  456.   
  457.     /** 
  458.      * 对field值进行相减 <p>对add() 的功能进行封装,add 可以对 Calendar 的字段进行计算。<br> 
  459.      * 如果需要减去值,那么使用负数值就可以了,如 add(field, -value)。<br> 
  460.      * 详细用法参见Calendar.add(int,int)</p> 
  461.      * 
  462.      * @param field int 取值为:<br>   DateTime.YEAR_FIELD -- 年份<br> 
  463.      *   DateTime.MONTH_FIELD -- 月份,一月份从1开始<br> 
  464.      *   DateTime.DAY_FIELD -- 当前的天(本月中的)<br> 
  465.      *   DateTime.HOUR_FIELD -- 小时数(本天中的),24小时制<br> 
  466.      *   DateTime.MINUTE_FIELD -- 分钟数(本小时中的)<br> 
  467.      *   DateTime.SECOND_FIELD -- 秒数(本分钟中的)<br> 
  468.      *   DateTime.MILLISECOND_FIELD -- 毫秒数(本秒中的) 
  469.      * @param amount 数量(如果数量小于0则为相加) 
  470.      */  
  471.     public void reduce(int field, int amount) {  
  472.         c.add(field, -amount);  
  473.     }  
  474.   
  475.     /** 
  476.      * 判断此 DateTime 表示的时间是否在指定 Object 表示的时间之后,返回判断结果。 <p>此方法等效于:compareTo(when) 
  477.      * > 0<br> 当且仅当 when 是一个 DateTime 实例时才返回 true。否则该方法返回 false。 
  478.      * 
  479.      * @param when 要比较的 Object 
  480.      * @return 如果此 DateTime 的时间在 when 表示的时间之后,则返回 true;否则返回 false。 
  481.      */  
  482.     public boolean after(Object when) {  
  483.         if (when instanceof DateTime) {  
  484.             return c.after(((DateTime) when).c);  
  485.         }  
  486.         return c.after(when);  
  487.     }  
  488.   
  489.     /** 
  490.      * 判断此 DateTime 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。 <p>此方法等效于:compareTo(when) 
  491.      * < 0<br> 当且仅当 when 是一个 DateTime 实例时才返回 true。否则该方法返回 false。</p> 
  492.      * 
  493.      * @param when 要比较的 Object 
  494.      * @return 如果此 Calendar 的时间在 when 表示的时间之前,则返回 true;否则返回 false。 
  495.      */  
  496.     public boolean before(Object when) {  
  497.         if (when instanceof DateTime) {  
  498.             return c.before(((DateTime) when).c);  
  499.         }  
  500.         return c.before(when);  
  501.     }  
  502.   
  503.     /** 
  504.      * 创建并返回此对象的一个副本 
  505.      * 
  506.      * @return 日期时间对象 
  507.      */  
  508.     @Override  
  509.     public Object clone() {  
  510.         return new DateTime((Calendar) c.clone());  
  511.     }  
  512.   
  513.     /** 
  514.      * 返回该此日历的哈希码 
  515.      * 
  516.      * @return 此对象的哈希码值。 
  517.      * @see Object 
  518.      */  
  519.     @Override  
  520.     public int hashCode() {  
  521.         return c.hashCode();  
  522.     }  
  523.   
  524.     /** 
  525.      * 将此 DateTime 与指定 Object 比较。 
  526.      * 
  527.      * @param obj - 要与之比较的对象。 
  528.      * @return 如果此对象等于 obj,则返回 true;否则返回 false。 
  529.      * @see Object 
  530.      */  
  531.     @Override  
  532.     public boolean equals(Object obj) {  
  533.         if (obj instanceof DateTime) {  
  534.             return c.equals(((DateTime) obj).toCalendar());  
  535.         }  
  536.         if (obj instanceof Calendar) {  
  537.             return c.equals(obj);  
  538.         }  
  539.         if (obj instanceof java.util.Date) {  
  540.             return c.getTime().equals(obj);  
  541.         }  
  542.         return false;  
  543.     }  
  544. }  
接下来再来看看如何使用:

获取当前系统时间:DateTime.now(); 返回的是一个DateTime对象。

一个DateTime对象可以转换成我们需要的各种日期格式,

例如:Java.util.date 

  1. DateTime.now().toDate();  
大家可能也觉得这个写法还没有直接new Date();来得快对不对。

那么有很多情况是一个字符串,需要转换成java.util.Date对象,我们该怎么做呢?

  1. <pre name="code" class="java">new DateTime("2014-10-29").toDate();  
当然也可以是这样的
  1. new DateTime("2014-10-29 15:19:23").toDate();  
这里的只是基础用法,还有一些情况是将java.util.Date转换成字符串格式的

可能大家一般会用SimpleDateFormat,但是这个太费事了,我们看看简单的办法。

  1. new DateTime(new Date()).toDateString();  
返回的是 2014-10-29 这种格式的字符串
  1. new DateTime(new Date()).toDateTimeString();  
返回的是2014-10-29 15:23:23 这种格式的字符串

如果我们需要类似 2014年10月29日 或 2014年10月29日 15时23分34秒 这种格式的怎么办呢

  1. new DateTime(new Date()).toDateTimeString("yyyy年MM月dd日");  
  2. new DateTime(new Date()).toDateTimeString("yyyy年MM月dd日 hh时mm分ss秒");  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值