Date,DateTime,LocalDate,String之间的相互转化

Date,DateTime,LocalDate,String之间的相互转化

/**
 * Date转DateTime
 *
 * @param date
 * @return
 */
public static DateTime dateToDateTime(Date date) {
    return new DateTime(date.getTime());
}

/**
 * DateTime转Date
 *
 * @param dateTime
 * @return
 */
public static Date dateTimeToDate(DateTime dateTime) {
    return dateTime.toDate();
}

/**
 * 获取当前日期的DateTime
 *
 * @return
 */
public static DateTime currents() {
    return DateTime.now(DateTimeZone.UTC);
}

public static DateTimeZone getBeiJingDateTimeZone() {
    return DateTimeZone.forID("Asia/BeiJing");
}

/**
 * date转固定格式
 *
 * @param date
 * @param formate
 * @return
 */
public static String formatToString(Date date, String formate) {
    if (date == null) {
        return "";
    } else {
        SimpleDateFormat sf = new SimpleDateFormat(formate);
        return sf.format(date);
    }
}

/**
 * 字符串类型的时间格式转Date
 *
 * @param dateString
 * @param formate
 * @return
 * @throws ParseException
 */
public static Date formateToDate(String dateString, String formate) throws ParseException {
    SimpleDateFormat sf = new SimpleDateFormat(formate);
    Date parse = sf.parse(dateString);
    return parse;
}

/**
 * 获取一周中那一天
 *
 * @param dateTime
 * @return
 */
public static String getDaysOfWeek(DateTime dateTime) {
    DateTimeFormatter formatter = DateTimeFormat.forPattern("E").withLocale(Locale.CHINESE);
    return formatter.print(dateTime);
}

/**
 * 获取两个时间点中的间隔
 *
 * @param startTime
 * @param endTime
 * @param unit
 * @return
 */
public static long getTimeInterval(Date startTime, Date endTime, TimeUnit unit) {
    long l = startTime.getTime() - endTime.getTime();
    return unit.convert(l, TimeUnit.MILLISECONDS);
}

public static int getYear(Date date, TimeZone timeZone) {
    Calendar c = Calendar.getInstance(timeZone);
    c.setTime(date);
    return c.get(Calendar.YEAR);
}

public static int getDay(Date date, TimeZone timeZone) {
    Calendar c = Calendar.getInstance(timeZone);
    c.setTime(date);
    return c.get(Calendar.DAY_OF_MONTH);
}

public static int getMonth(Date date, TimeZone timeZone) {
    Calendar c = Calendar.getInstance(timeZone);
    c.setTime(date);
    return c.get(Calendar.MONTH) + 1;
}

public static int localDateToInt(LocalDate date) {
    return date.getYear() * 10000 + date.getMonthOfYear() * 100 + date.getDayOfMonth();
}

public static LocalDate intToLocalDate(int intdate) {
    int year = intdate / 10000;
    int month = (intdate - intdate / 10000) / 100;
    int day = intdate - year * 10000 - month * 100;
    return new LocalDate(year, month, day);
}

public static LocalDate current() {
    return DateUtils.currents().toLocalDate();
}

public static String formateStandardPattern(DateTime dateTime) {
    DateTimeFormatter sdf = DateTimeFormat.forPattern(STANDARD_PTTERN);
    return sdf.print(dateTime);
}

public static String formateYearMonthDayPattern(DateTime dateTime) {
    DateTimeFormatter sdf = DateTimeFormat.forPattern(YEAR_MONTH_DAY_PATTERN);
    return sdf.print(dateTime);
}

public static String getClassicTypePattern(DateTime dateTime) {
    DateTimeFormatter sdf = DateTimeFormat.forPattern(YMDHMS_PATTERN);
    return sdf.print(dateTime.toDateTime(getBeiJingDateTimeZone()));
}

public static int diffDay(DateTime startTime, DateTime endTime) {
    Days days = Days.daysBetween(startTime, endTime);
    return days.getDays();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值