用于日期的各种操作,简单实用。。。
[Java]代码 - import java.sql.Timestamp;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.apache.commons.lang3.time.DateFormatUtils;
- /**
- * 日期工具类, 继承org.apache.commons.lang.time.DateUtils类
- * @author
- * @version 2015-10-12
- */
- public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
-
- private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
- "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" };
- /**
- * 得到当前日期字符串 格式(yyyy-MM-dd)
- */
- public static String getDate() {
- return getDate("yyyy-MM-dd");
- }
-
- /**
- * 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"
- */
- public static String getDate(String pattern) {
- return DateFormatUtils.format(new Date(), pattern);
- }
-
- /**
- * 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"
- */
- public static String formatDate(Date date, Object... pattern) {
- String formatDate = null;
- if (pattern != null && pattern.length > 0) {
- formatDate = DateFormatUtils.format(date, pattern[0].toString());
- } else {
- formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");
- }
- return formatDate;
- }
-
- /**
- * 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)
- */
- public static String formatDateTime(Date date) {
- return formatDate(date, "yyyy-MM-dd HH:mm:ss");
- }
- /**
- * 得到当前时间字符串 格式(HH:mm:ss)
- */
- public static String getTime() {
- return formatDate(new Date(), "HH:mm:ss");
- }
- /**
- * 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss)
- */
- public static String getDateTime() {
- return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
- }
- /**
- * 得到当前年份字符串 格式(yyyy)
- */
- public static String getYear() {
- return formatDate(new Date(), "yyyy");
- }
- /**
- * 得到当前月份字符串 格式(MM)
- */
- public static String getMonth() {
- return formatDate(new Date(), "MM");
- }
- /**
- * 得到当天字符串 格式(dd)
- */
- public static String getDay() {
- return formatDate(new Date(), "dd");
- }
- /**
- * 得到当前星期字符串 格式(E)星期几
- */
- public static String getWeek() {
- return formatDate(new Date(), "E");
- }
-
- /**
- * 日期型字符串转化为日期 格式
- * { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
- * "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }
- */
- public static Date parseDate(Object str) {
- if (str == null){
- return null;
- }
- try {
- return parseDate(str.toString(), parsePatterns);
- } catch (ParseException e) {
- return null;
- }
- }
- /**
- * 获取过去的天数
- * @param date
- * @return
- */
- public static long pastDays(Date date) {
- long t = new Date().getTime()-date.getTime();
- return t/(24*60*60*1000);
- }
-
-
- public static Date getDateStart(Date date) {
- if(date==null) {
- return null;
- }
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- try {
- date= sdf.parse(formatDate(date, "yyyy-MM-dd")+" 00:00:00");
- } catch (ParseException e) {
- e.printStackTrace();
- }
- return date;
- }
-
- public static Date getDateEnd(Date date) {
- if(date==null) {
- return null;
- }
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- try {
- date= sdf.parse(formatDate(date, "yyyy-MM-dd") +" 23:59:59");
- } catch (ParseException e) {
- e.printStackTrace();
- }
- return date;
- }
-
- /**
- * 判断字符串是否是日期
- * @param timeString
- * @return
- */
- public static boolean isDate(String timeString){
- SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
- format.setLenient(false);
- try{
- format.parse(timeString);
- }catch(Exception e){
- return false;
- }
- return true;
- }
-
- /**
- * 格式化时间
- * @param timestamp
- * @return
- */
- public static String dateFormat(Date timestamp){
- SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- return format.format(timestamp);
- }
-
- /**
- * 获取系统时间Timestamp
- * @return
- */
- public static Timestamp getSysTimestamp(){
- return new Timestamp(new Date().getTime());
- }
-
- /**
- * 获取系统时间Date
- * @return
- */
- public static Date getSysDate(){
- return new Date();
- }
-
- /**
- * 生成时间随机数
- * @return
- */
- public static String getDateRandom(){
- String s=new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
- return s;
- }
-
- /**
- * @param args
- * @throws ParseException
- */
- public static void main(String[] args) throws ParseException {
- // System.out.println(formatDate(parseDate("2010/3/6")));
- // System.out.println(getDate("yyyy年MM月dd日 E"));
- // long time = new Date().getTime()-parseDate("2012-11-19").getTime();
- // System.out.println(time/(24*60*60*1000));
- }
- }
复制代码
commons-lang3-3.1.jar ~ 308KB
commons-lang3-3.1-sources.jar ~ 384KB (12) |