基于joda:日期时间工具类

Joda的Maven坐标

 
        
            joda-time
            joda-time
            2.5
        

基于joda封装的--日期时间工具类


import com.newcapec.cloudpay.constant.SysConstant;
import org.apache.commons.lang.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.Minutes;
import org.joda.time.format.DateTimeFormat;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @version V1.0
 * @Title: 日期时间--工具类
 * @ClassName:DateTimeUtils.java
 * @Description:
 * @Copyright 2016-2017  - Powered By 研发中心
 * @author: 王延飞
 * @date:2016年12月24日 上午10:54:27
 */
public class DateTimeUtils {


    /**
     * @param date
     * @param anotherDate
     * @return boolean
     * @Title:判断两个日期是否在同一天
     * @methodName: isSameDay
     * @Description:
     * @author: 王延飞
     * @date: 2017-05-02 20:19
     */
    public static boolean isSameDay(String date, String anotherDate) {

        boolean res = false;
        // 初始化时间
        DateTime dateTime = new DateTime();

        DateTime dt1 = new DateTime(date);
        DateTime dt2 = new DateTime(anotherDate);

        int intervalDays = Days.daysBetween(dt1, dt2).getDays();

        if (intervalDays == 0) {
            res = true;
        }

        return res;

    }

    /**
     * @return String
     * @Title: 获取当前系统时间 
*
* <格式 :yyyy-MM-dd HH:mm:ss> * @Description: * @author: 王延飞 * @date:2016年12月24日 上午10:59:14 */ public static String getCurSysTime() { // 初始化时间 DateTime dateTime = new DateTime(); return dateTime.toString(SysConstant.YYYY_MM_DD_HH_MM_SS); } /** * @param * @return java.lang.String * @Title: 获取当前系统时间的年月
*
* <格式 :yyyy年MM月> * @Description: * @author: 王延飞 * @date: 2017-01-23 11:22 */ public static String getCurSysYearMonth() { // 初始化时间 DateTime dateTime = new DateTime(); return dateTime.toString("yyyy年MM月"); } public static String getCurSysYear() { // 初始化时间 DateTime dateTime = new DateTime(); return dateTime.toString("yyyy"); } /** * @param date * @return String * @Title: 根据日期获得星期 * @Description: * @author: 王延飞 * @date:2016年12月30日 下午8:22:23 */ public static String getWeekOfDate(Date date) { String[] weekDaysName = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; String[] weekDaysCode = {"0", "1", "2", "3", "4", "5", "6"}; Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int intWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; return weekDaysName[intWeek]; // return weekDaysCode[intWeek]; } /** * @param date * @return String * @Title: 根据日期获得【星期】 * @Description: * @author: 王延飞 * @date:2016年12月30日 下午8:50:35 */ public static String getWeekOfDateStr(String date) { // 返回值 String res = ""; DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern(SysConstant.YYYY_MM_DD_HH_MM_SS).parseDateTime(date); } // Get the day of week field value. int dayOfWeek = dateTime.getDayOfWeek(); switch (dayOfWeek) { case 1: res = "周一"; break; case 2: res = "周二"; break; case 3: res = "周三"; break; case 4: res = "周四"; break; case 5: res = "周五"; break; case 6: res = "周六"; break; case 7: res = "周日"; break; default: break; } return res; } /** * @param date * @return String * @Title: 根据日期获得【月份】 * @Description: * @author: 王延飞 * @date:2016年12月30日 下午8:50:35 */ public static String getMonthOfDateStr(String date) { // 返回值 String res = ""; DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern(SysConstant.YYYY_MM_DD_HH_MM_SS).parseDateTime(date); } // Get the month of year field value int monthOfYear = dateTime.getMonthOfYear(); res = String.valueOf(monthOfYear); return res; } /** * @param date * @return String * @Title: 根据日期获得【年份】 * @Description: * @author: 王延飞 * @date:2016年12月30日 下午8:50:35 */ public static String getYearOfDateStr(String date) { // 返回值 String res = ""; DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern(SysConstant.YYYY_MM_DD_HH_MM_SS).parseDateTime(date); } // Get the year field value. int year = dateTime.getYear(); res = String.valueOf(year); return res; } /** * @param date * @return java.lang.String * @Title: 根据日期<年份月份>获得【年份】 * @methodName: getYearOfYearMonth * @Description: * @author: 王延飞 * @date: 2017-01-23 14:47 */ public static String getYearOfYearMonth(String date) { // 返回值 String res = ""; DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern("yyyy年MM月").parseDateTime(date); } // Get the year field value. int year = dateTime.getYear(); res = String.valueOf(year); return res; } /** * @param date * @return java.lang.String * @Title: 根据日期<年份月份>获得【月份】 * @methodName: getMonthOfYearMonth * @Description: * @author: 王延飞 * @date: 2017-01-23 14:50 */ public static String getMonthOfYearMonth(String date) { // 返回值 String res = ""; DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern("yyyy年MM月").parseDateTime(date); } // Get the year field value. int monthOfYear = dateTime.getMonthOfYear(); res = String.valueOf(monthOfYear) + "月"; return res; } /** * @param date * @return String * @Title: 根据日期获得【月-日】 * @Description: * @author: 王延飞 * @date:2016年12月30日 下午8:50:35 */ public static String getMonthAndDayOfDateStr(String date) { // 返回值 String res = ""; DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern(SysConstant.YYYY_MM_DD_HH_MM_SS).parseDateTime(date); } // Get the month of year field value int monthOfYear = dateTime.getMonthOfYear(); int dayOfMonth = dateTime.getDayOfMonth(); res = monthOfYear + "-" + dayOfMonth; return res; } /** * @param date * @return String * @Title: 根据日期获得【年-月】 * @Description: * @author: 王延飞 * @date:2016年12月30日 下午8:50:35 */ public static String getYearAndMonthOfDateStr(String date) { // 返回值 String res = ""; String month = ""; DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern(SysConstant.YYYY_MM_DD_HH_MM_SS).parseDateTime(date); } // Get the year field value. int year = dateTime.getYear(); // Get the month of year field value int monthOfYear = dateTime.getMonthOfYear(); if (monthOfYear < 10) { month = "0" + monthOfYear; } else { month = String.valueOf(monthOfYear); } res = year + "年" + month + "月"; return res; } /** * @param date * @return DateTime * @Title: 将时间字符串转换成DateTime对象 * @Description: * @author: 王延飞 * @date:2016年12月30日 下午8:21:30 */ public static DateTime str2DateTime(String date) { DateTime dateTime = null; if (StringUtils.isNotBlank(date)) { dateTime = DateTimeFormat.forPattern(SysConstant.YYYY_MM_DD_HH_MM_SS).parseDateTime(date); } return dateTime; } /** * @param * @return long * @Title: 当前时间的毫秒数 * @methodName: timestamp * @Description: * @author: 王延飞 * @date: 2018-06-21 17:28 */ public static long timestamp() { DateTime dateTime = new DateTime(); long millis = dateTime.getMillis(); return millis; } /** * @param date * @return int * @Title: 和当前系统时间相隔的分钟数 * @methodName: minutesBetween * @Description: * @author: 王延飞 * @date: 2017-06-29 15:01 */ public static int minutesBetween(Date date) { // 系统当前时间 DateTime SysTime = new DateTime(); DateTime dateTime = null; if (date != null) { dateTime = new DateTime(date); } int minutes = Minutes.minutesBetween(dateTime, SysTime).getMinutes(); return minutes; } public static void main(String[] args) throws ParseException { // System.out.println("系统当前时间: "+DateTimeUtils.getCurSysTime()); // DateTime str2DateTime = DateTimeUtils.str2DateTime("2016-03-01 22:50:26"); // // System.out.println("系统当前时间: " + str2DateTime); // String weekOfDateStr = DateTimeUtils.getWeekOfDateStr("2016-11-27 10:50:26"); // // System.out.println("根据日期获得【星期】: " + weekOfDateStr); // 根据日期获得月份 // String monthOfYear = DateTimeUtils.getMonthOfDateStr("2016-02-05 22:50:26"); // // System.out.println("根据日期获得【月份】: " + monthOfYear); // // // String yearOfDateStr = DateTimeUtils.getYearOfDateStr("2016-02-05 22:50:26"); // // System.out.println("根据日期获得【年份】: " + yearOfDateStr); // // String year_MonthOfDateStr = DateTimeUtils.getMonthAndDayOfDateStr("2016-12-25 22:50:26"); // System.out.println("根据日期获得【月-日】: " + year_MonthOfDateStr); /* System.out.println("系统当前时间: "+DateTimeUtils.getCurSysYearMonth()); System.out.println("系统当前年份: "+DateTimeUtils.getCurSysYear()); System.out.println("根据日期获得【年-月】: "+DateTimeUtils.getYearAndMonthOfDateStr("2017-12-05 22:50:26")); System.out.println("根据日期获得【年】: "+DateTimeUtils.getYearOfDateStr("2017-12-05 22:50:26")); System.out.println("根据日期<年份月份>获得【年份】: "+DateTimeUtils.getYearOfYearMonth("2017年12月")); System.out.println("根据日期<年份月份>获得【月份】: "+DateTimeUtils.getMonthOfYearMonth("2017年01月"));*/ // System.out.println("根据日期<年份月份>获得【星期】: " + DateTimeUtils.getWeekOfDateStr("2017-03-6 22:50:26")); // // boolean sameDay = isSameDay("20170501", "20170502"); // System.out.println("isSameDay: " + sameDay); String dateString = "2017-06-29 14:11:28"; SimpleDateFormat sdf = new SimpleDateFormat(SysConstant.YYYY_MM_DD_HH_MM_SS); Date date2 = sdf.parse(dateString); System.out.println("String 转 Date" + date2); int minutesBetween = minutesBetween(date2); System.out.println(minutesBetween + " 分钟 "); System.out.println(minutesBetween - 15 + " 分钟 "); System.out.println("是否小于15分钟: "); System.out.println(minutesBetween <= 15); System.out.println("时间戳:" + timestamp()); } }

 

你可能感兴趣的:(琦彦の百宝箱,Joda)