java8代码-时间工具类

package com.ven.utils;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * java 8  LocalDateTime 时间转换工具类
 * 
 * @author xiaowen
 * @date 2016年11月1日 @ version 1.0
 */
public  final class TimeUtils {

	// 默认时间格式
	private static final DateTimeFormatter DEFAULT_DATETIME_FORMATTER = TimeFormat.SHORT_DATE_PATTERN_LINE.formatter;

	// 无参数的构造函数,防止被实例化
	private TimeUtils() {};

	/**
	 * String 转化为 LocalDateTime
	 * 
	 * @param timeStr
	 *            被转化的字符串
	 * @return LocalDateTime
	 */
	public static LocalDateTime parseTime(String timeStr) {
		return LocalDateTime.parse(timeStr, DEFAULT_DATETIME_FORMATTER);

	}

	/**
	 * String 转化为 LocalDateTime
	 * 
	 * @param timeStr
	 *            被转化的字符串
	 * @param timeFormat
	 *            转化的时间格式
	 * @return LocalDateTime
	 */
	public static LocalDateTime parseTime(String timeStr, TimeFormat timeFormat) {
		return LocalDateTime.parse(timeStr, timeFormat.formatter);

	}

	/**
	 * LocalDateTime 转化为String
	 * 
	 * @param time
	 *            LocalDateTime
	 * @return String
	 */
	public static String parseTime(LocalDateTime time) {
		return DEFAULT_DATETIME_FORMATTER.format(time);

	}

	/**
	 * LocalDateTime 时间转 String
	 * 
	 * @param time
	 *            LocalDateTime
	 * @param format
	 *            时间格式
	 * @return String
	 */
	public static String parseTime(LocalDateTime time, TimeFormat format) {
		return format.formatter.format(time);

	}

	/**
	 * 获取当前时间
	 * 
	 * @return
	 */
	public static String getCurrentDateTime() {
		return DEFAULT_DATETIME_FORMATTER.format(LocalDateTime.now());
	}

	/**
	 * 获取当前时间
	 * 
	 * @param timeFormat
	 *            时间格式
	 * @return
	 */
	public static String getCurrentDateTime(TimeFormat timeFormat) {
		return timeFormat.formatter.format(LocalDateTime.now());
	}

	/**
	 * 内部枚举类
	 * 
	 * @author xiaowen
	 * @date 2016年11月1日 @ version 1.0
	 */
	public enum TimeFormat {
		//短时间格式 年月日
		/**
		 *时间格式:yyyy-MM-dd
		 */
		SHORT_DATE_PATTERN_LINE("yyyy-MM-dd"),
		/**
		 *时间格式:yyyy/MM/dd
		 */
		SHORT_DATE_PATTERN_SLASH("yyyy/MM/dd"),
		/**
		 *时间格式:yyyy\\MM\\dd
		 */
		SHORT_DATE_PATTERN_DOUBLE_SLASH("yyyy\\MM\\dd"),
		/**
		 *时间格式:yyyyMMdd
		 */
		SHORT_DATE_PATTERN_NONE("yyyyMMdd"),

		// 长时间格式 年月日时分秒
		/**
		 *时间格式:yyyy-MM-dd HH:mm:ss
		 */
		LONG_DATE_PATTERN_LINE("yyyy-MM-dd HH:mm:ss"),

		/**
		 *时间格式:yyyy/MM/dd HH:mm:ss
		 */
		LONG_DATE_PATTERN_SLASH("yyyy/MM/dd HH:mm:ss"),
		/**
		 *时间格式:yyyy\\MM\\dd HH:mm:ss
		 */
		LONG_DATE_PATTERN_DOUBLE_SLASH("yyyy\\MM\\dd HH:mm:ss"),
		/**
		 *时间格式:yyyyMMdd HH:mm:ss
		 */
		LONG_DATE_PATTERN_NONE("yyyyMMdd HH:mm:ss"),

		// 长时间格式 年月日时分秒 带毫秒
		LONG_DATE_PATTERN_WITH_MILSEC_LINE("yyyy-MM-dd HH:mm:ss.SSS"),

		LONG_DATE_PATTERN_WITH_MILSEC_SLASH("yyyy/MM/dd HH:mm:ss.SSS"),

		LONG_DATE_PATTERN_WITH_MILSEC_DOUBLE_SLASH("yyyy\\MM\\dd HH:mm:ss.SSS"),

		LONG_DATE_PATTERN_WITH_MILSEC_NONE("yyyyMMdd HH:mm:ss.SSS");

		private transient DateTimeFormatter formatter;

		TimeFormat(String pattern) {
			formatter = DateTimeFormatter.ofPattern(pattern);

		}
	}
	/**
	 * 测试
	 * @param args
	 */
	public static void main(String[] args) {
		//获取当前时间
		System.out.println(TimeUtils.getCurrentDateTime());
		
		System.out.println(TimeUtils.getCurrentDateTime(TimeFormat.LONG_DATE_PATTERN_LINE));
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值