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")));

    }
}

 

posted @ 2018-07-10 16:52  刘尊礼  阅读(106)  评论(0)    收藏  举报