写一个时间格式化的类

package visoup.framework.util;

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

/**
 * <br>
 * 
 * @author VISO DEV
 * @version 1.0
 */

public class DateUtil
{
	public static final String patternLong = "yyyy-MM-dd HH:mm:ss";
	public static final String patternShort = "yyyy-MM-dd";

	/**
	 * 日
	 */
	public final static int INTERVAL_DAY = 1;
	/**
	 * 周
	 */
	public final static int INTERVAL_WEEK = 2;
	/**
	 * 月
	 */
	public final static int INTERVAL_MONTH = 3;
	/**
	 * 年
	 */
	public final static int INTERVAL_YEAR = 4;
	/**
	 * 小时
	 */
	public final static int INTERVAL_HOUR = 5;
	/**
	 * 分钟
	 */
	public final static int INTERVAL_MINUTE = 6;
	/**
	 * 秒
	 */
	public final static int INTERVAL_SECOND = 7;

	/**
	 * 增加时间
	 * 
	 * @param interval
	 *            [INTERVAL_DAY,INTERVAL_WEEK,INTERVAL_MONTH,INTERVAL_YEAR,
	 *            INTERVAL_HOUR,INTERVAL_MINUTE]
	 * @param date
	 * @param n
	 *            可以为负数
	 * @return
	 */
	public static Date dateAdd(int interval, Date date, int n)
	{
		long time = (date.getTime() / 1000); // 单位秒
		switch (interval)
		{
		case INTERVAL_DAY:
			time = time + n * 86400;// 60 * 60 * 24;
			break;
		case INTERVAL_WEEK:
			time = time + n * 604800;// 60 * 60 * 24 * 7;
			break;
		case INTERVAL_MONTH:
			time = time + n * 2678400;// 60 * 60 * 24 * 31;
			break;
		case INTERVAL_YEAR:
			time = time + n * 31536000;// 60 * 60 * 24 * 365;
			break;
		case INTERVAL_HOUR:
			time = time + n * 3600;// 60 * 60 ;
			break;
		case INTERVAL_MINUTE:
			time = time + n * 60;
			break;
		case INTERVAL_SECOND:
			time = time + n;
			break;
		default:
		}

		Date result = new Date();
		result.setTime(time * 1000);
		return result;
	}

    //带有时分秒的时间
	public static String longToDateStr(long value)
	{
		return longToDateStr(value, patternShort);
	}
    //只有日期的时间
	public static String longToDateShortStr(long value)
	{
		return longToDateStr(value, patternLong);
	}
	
	public static String longToDateStr(long value, boolean out0)
	{
		if (out0)
		{
			int ymd = (int) (value / 1000000);
			long ymdl = ymd * 1000000L;
			if (ymdl != value)
			{
				return longToDateStr(value);
			}
			else
			{
				return longToDateStryMd(value);
			}
		}
		else
		{
			return longToDateStr(value);
		}
	}

	public static String longToDateStryMd(long value)
	{
		return longToDateStr(value, patternShort);
	}

	public static String longToDateStr(long value, String pattern)
	{
		if (value == 0)
		{
			return null;
		}
		Calendar cal = Calendar.getInstance();
		cal.setTimeInMillis(value);
		SimpleDateFormat format = new SimpleDateFormat(pattern);
		return format.format(cal.getTime());
	}
    
	public static long dateStrToLong(String str)
	{
		if (str == null || "".equals(str.trim()))
		{
			return 0;
		}
		if (str.trim().length() == 10)
		{
			str = str.trim() + " 00:00:00";
		}
		Date date = null;
		SimpleDateFormat sdf = new SimpleDateFormat(patternLong);
		try
		{
			date = sdf.parse(str);
		}
		catch (ParseException e)
		{
			e.printStackTrace();
		}

		return date.getTime();
	}

	public static String getNow(String pattern)
	{
		SimpleDateFormat format = new SimpleDateFormat(pattern);
		return format.format(new Date());
	}
}

如果想格式化时间为日期形式yyyy-MM-dd 那么调用              DateUtil.longToDateStr

如果想格式化时间为日期时间形式 yyyy-MM-dd HH:mm:ss   DateUtil.longToDateShortStr   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的日期帮助示例,包含了一些常见的日期操作: ```java import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class DateUtils { /** * 获取当前日期,格式为 yyyy-MM-dd */ public static String getCurrentDate() { return LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); } /** * 获取当前时间,格式为 HH:mm:ss */ public static String getCurrentTime() { return LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss")); } /** * 获取当前日期时间,格式为 yyyy-MM-dd HH:mm:ss */ public static String getCurrentDateTime() { return LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } /** * 根据指定格式获取当前日期时间 */ public static String getCurrentDateTime(String pattern) { return LocalDateTime.now().format(DateTimeFormatter.ofPattern(pattern)); } /** * 将字符串解析为日期,格式为 yyyy-MM-dd */ public static LocalDate parseDate(String dateStr) { return LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd")); } /** * 将字符串解析为时间,格式为 HH:mm:ss */ public static LocalTime parseTime(String timeStr) { return LocalTime.parse(timeStr, DateTimeFormatter.ofPattern("HH:mm:ss")); } /** * 将字符串解析为日期时间,格式为 yyyy-MM-dd HH:mm:ss */ public static LocalDateTime parseDateTime(String dateTimeStr) { return LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } /** * 格式日期,格式为 yyyy-MM-dd */ public static String formatDate(LocalDate date) { return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); } /** * 格式时间,格式为 HH:mm:ss */ public static String formatTime(LocalTime time) { return time.format(DateTimeFormatter.ofPattern("HH:mm:ss")); } /** * 格式日期时间,格式为 yyyy-MM-dd HH:mm:ss */ public static String formatDateTime(LocalDateTime dateTime) { return dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } } ``` 这个日期帮助包含了常见的日期和时间操作,比如获取当前日期时间、解析日期时间字符串、格式日期时间等。你可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值