joda-time时间
首页:http://www.joda.org/joda-time/
api:http://www.joda.org/joda-time/apidocs/index.html
package com.sankuai.mall.wip.tool; import org.joda.time.DateTime; import org.joda.time.Interval; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; /** * Created by liuzunli on 2018/7/10. * api:http://www.joda.org/joda-time/apidocs/index.html */ public class JodaTimeTool { /** * 毫秒数转换为制定格式的字符串 * * @param instant:毫秒 * @param patten:时间格式 * @return */ public static String formatTme(Long instant,String patten){ DateTime dateTime = new DateTime(instant); return dateTime.toString(patten); } /** * 把制定格式的字符串转换为毫秒数 * * @param timeStr:时间字符串 * @param patten:时间格式(格式也可以是yyyy年MM月dd天HH小时mm分ss秒) * @return */ public static Long parseTime(String timeStr,String patten){ DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(patten); DateTime dateTime = DateTime.parse(timeStr,dateTimeFormatter); return dateTime.getMillis(); } /** * instant日期+days * * @param instant * @param days * @return */ public static Long plusDays(Long instant,int days){ DateTime dateTime = new DateTime(instant); return dateTime.plusDays(days).getMillis(); } /** * instant日期+months * * @param instant * @param months * @return */ public static Long plusMonths(Long instant,int months){ DateTime dateTime = new DateTime(instant); return dateTime.plusMonths(months).getMillis(); } /** * instant日期+minutes * * @param instant * @param minutes * @return */ public static Long plusMinutes(Long instant,int minutes){ DateTime dateTime = new DateTime(instant); return dateTime.plusMinutes(minutes).getMillis(); } /** * 一天的0点 * * @param instant * @return */ public static Long getStartDayTime(Long instant){ DateTime dateTime = new DateTime(instant); return dateTime.millisOfDay().withMinimumValue().getMillis(); } /** * 一天的23:59:59 * * @param instant * @return */ public static Long getEndDayTime(Long instant){ DateTime dateTime = new DateTime(instant); return dateTime.millisOfDay().withMaximumValue().getMillis(); } /** * 跟现在比较时间 * * @param instant * @return */ public static boolean isAfterNow(Long instant){ return new DateTime(instant).isAfterNow(); } /** * 是否今天 * * @param instant * @return */ public static boolean isToday(Long instant){ Interval interval = new Interval(DateTime.now().millisOfDay().withMinimumValue(),DateTime.now().millisOfDay().withMaximumValue()); return interval.contains(instant); } public static void main(String[] args) { System.out.println("--------毫秒数转换为字符串----------"); System.out.println(JodaTimeTool.formatTme(1531228641000L,"yyyy年MM月dd天HH小时mm分ss秒")); System.out.println("--------字符串转换为毫秒数----------"); System.out.println(JodaTimeTool.parseTime("2018-07-09 11:22:33","yyyy-MM-dd HH:mm:ss")); System.out.println("--------天数加减----------"); System.out.println(JodaTimeTool.formatTme(JodaTimeTool.plusDays(System.currentTimeMillis(),-1),"yyyy-MM-dd HH:mm:ss")); System.out.println("--------月加减----------"); System.out.println(JodaTimeTool.formatTme(JodaTimeTool.plusMonths(System.currentTimeMillis(),1),"yyyy-MM-dd HH:mm:ss")); System.out.println("--------一天开始的时间----------"); System.out.println(JodaTimeTool.formatTme(JodaTimeTool.getStartDayTime(System.currentTimeMillis()),"yyyy-MM-dd HH:mm:ss")); System.out.println("--------一天结束的时间----------"); System.out.println(JodaTimeTool.formatTme(JodaTimeTool.getEndDayTime(System.currentTimeMillis()),"yyyy-MM-dd HH:mm:ss")); System.out.println("--------是否今天----------"); System.out.println(JodaTimeTool.isToday(JodaTimeTool.parseTime("2018-07-09 11:22:33","yyyy-MM-dd HH:mm:ss"))); } }
浙公网安备 33010602011771号