文档章节

日期处理工具类

yabushan
 yabushan
发布于 2016/04/16 14:39
字数 880
阅读 5
收藏 0
  1. 日期工具

package yabushan.DateUtils;

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

import org.apache.log4j.Logger;

/**
 * 
 * <code>{@link DateUtils}</code>
 *
 * TODO : document me
 *
 * @author yabushan
 * @date 2016-1-1
 */
public abstract class DateUtils
{

	static Logger logger = Logger.getLogger(DateUtils.class.getName());
    public static String YYYY_MM_DD_HH_MM_SS="yyyy-MM-dd HH:mm:ss";
    public static void main(String[] args) {
		System.out.println(getCurrentDate());//获取当前日期
		System.out.println(formatDatatoString(new Date(),1));
		System.out.println(formatDatatoString(new Date(),2));
		System.out.println(formatDatatoString(new Date(),3));
	}
    /**
     * 获取当前日期
     * @return
     */
	public static Date getCurrentDate()
	{
		Calendar now = Calendar.getInstance();
		return now.getTime();
	}

	public static Date parseDate(String date, String... pattern)
			throws ParseException
	{
		return DateUtils.parseDate(date, pattern);

	}

	public static Date[] getDateRangeOfMonth(int year, int month)
	{
		month = month - 1;
		Calendar rightNow = Calendar.getInstance();
		rightNow.set(year, month, 1, 0, 0, 0);
		Date startDate = rightNow.getTime();
		rightNow.set(year, month + 1, 1, 0, 0, -1);
		Date endDate = rightNow.getTime();
		return new Date[] { formatDate(startDate), formatDate(endDate) };
	}

	public static int[] getNowSingleObject()
	{
		Calendar rightNow = Calendar.getInstance();
		return new int[] { rightNow.get(Calendar.DAY_OF_MONTH),
				rightNow.get(Calendar.MONTH) + 1, rightNow.get(Calendar.YEAR) };
	}

	public static String getNowM()
	{
		SimpleDateFormat bartDateFormat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm");
		Date now = new Date();
		String str = bartDateFormat.format(now).toString();
		return str;
	}

	public static Date formatDate(Date date)
	{
		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Date convert = null;
		try
		{
			convert = bartDateFormat.parse(bartDateFormat.format(date));
		} catch (ParseException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return convert;
	}

	public static Date formatDate(Date date, int i)
	{
		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		if (i == 1)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		} else if (i == 2)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
		}else if (i == 3)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		}
		Date convert = null;
		try
		{
			convert = bartDateFormat.parse(bartDateFormat.format(date));
		} catch (ParseException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return convert;
	}
	public static Date getDate(java.sql.Timestamp timestamp) {
		Calendar c = new GregorianCalendar();
	    c.setTimeInMillis(timestamp.getTime());
	
		return c.getTime();
	}
	/**
	 * @param date
	 *            需要格式化的日期
	 * @param i
	 *            1:yyyy-MM-dd 2:yyyy-MM-dd HH:mm 3:HH:mm else:yyyy-MM-dd
	 * @return 规定格式的字符串
	 */
	public static String formatDatatoString(Date date, int i)
	{
		String result = "";
		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		if (date == null)
			return "";
		if (i == 1)
		{  
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		} else if (i == 2)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
		} else if (i == 3)
		{
			bartDateFormat = new SimpleDateFormat("HH:mm");
		} else if (i == 4)
		{
			bartDateFormat = new SimpleDateFormat("MM-dd HH:mm");
		} else

		if (i == 5)
		{
			bartDateFormat = new SimpleDateFormat("MM-dd HH:mm:ss");
		} else if (i == 6)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		} else if (i == 7)
		{
			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
		} else if (i == 8)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
		}else if(i ==9){
			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
		}else if(i ==10){
			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmm");
		}else if(i ==11){
			bartDateFormat = new SimpleDateFormat("yyyyMMdd");
		} else if (i == 12)
		{
			bartDateFormat = new SimpleDateFormat("HH:mm:ss");
		}

		result = bartDateFormat.format(date).toString();
		return result;
	}

	/**
	 * 将字符串格式化成日期
	 * 
	 * @param date
	 * @return
	 */
	public static Date formatDate(String date)
	{
		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Date convert = null;
		try
		{
			convert = bartDateFormat.parse(date);
		} catch (ParseException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return convert;
	}
	public static Date formatDate(String date,String format)
	{
		SimpleDateFormat bartDateFormat = new SimpleDateFormat(format);
		Date convert = null;
		try
		{
			convert = bartDateFormat.parse(date);
		} catch (ParseException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return convert;
	}

	public static Date formatDate(String date, int i)
	{
		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		if (i == 1)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		} else if (i == 2)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
		} else if (i == 3)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		} else if (i == 4)
		{
			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");

		} else if (i == 5)
		{
			bartDateFormat = new SimpleDateFormat("HH:mm:ss");
		}else if(i ==6){
			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
		}

		Date convert = null;
		try
		{
			convert = bartDateFormat.parse(date);
		} catch (ParseException e)
		{
			logger.warn(e.getMessage());
		}
		return convert;
	}

	public static boolean isSameDay(Date date1, Date date2, int i)
	{
		String s1 = formatDatatoString(date1, i);
		String s2 = formatDatatoString(date2, i);
		return s1.equalsIgnoreCase(s2);
	}

	public static boolean isToday(Date date1, int i)
	{
		Calendar today = Calendar.getInstance();
		return isSameDay(today.getTime(), date1, i);
	}

	public static Long formatDateToLong(Date date)
	{

		if (date != null)
		{
			Calendar now = Calendar.getInstance();
			now.setTime(date);
			return now.getTimeInMillis();
		} else
		{
			return 0L;
		}
	}

	public static Date formatLongToDate(Long millis)
	{

		Calendar now = Calendar.getInstance();
		now.setTimeInMillis(millis);
		return now.getTime();
	}
	/**
	 * 
	 * @param longTime
	 * @return
	 */
	public static String getTimeStr(Long longTime)
	{
		String result = "00:00:00";
		try
		{
			int hour = (longTime.intValue() / 3600) % 24;
			int minite = (longTime.intValue() / 60) % 60;
			int second = (longTime.intValue() % 60);
			String hourStr = hour < 10 ? ("0" + hour) : hour + "";
			String miniteStr = minite < 10 ? ("0" + minite) : minite + "";
			String secondStr = second < 10 ? ("0" + second) : second + "";
			result = hourStr + ":" + miniteStr + ":" + secondStr;
		} catch (Exception e)
		{
			logger.error("", e);
		}

		return result;

	}
/**
 * 
 * @param strTime
 * @return
 */
	public static Long getStrLongTime(String strTime)
	{
		Long result = 0L;
		String[] strs = strTime.split(":");
		try
		{
			int hour = Integer.parseInt(strs[0]);
			int minite = Integer.parseInt(strs[1]);
			int second = Integer.parseInt(strs[2]);
			result = Long.valueOf((hour * 60 * 60) + (minite * 60) + second);
		} catch (Exception e)
		{
			logger.error("", e);
		}
		return result;
	}
	/**
	 * 将 java.util.Date 对象转换为 java.sql.Timestamp 对象。
	 * 
	 * @param date
	 *            java.util.Date对象
	 * @return java.sql.Timestamp对象,如果参数为 null 则返回 null。
	 */
	public static java.sql.Timestamp toSqlTimestamp(java.util.Date date) {
		if (date == null) {
			return null;
		}
		return new java.sql.Timestamp(date.getTime());
	}
	
	/**
	 * @data:2015-01-09
	 * @param date
	 * @param day
	 * @return
	 * 日期增加指定天数
	 */
	public static Date addDay(Date date,int day){
			Calendar cal=Calendar.getInstance();
			cal.setTime(date);
			cal.add(Calendar.DAY_OF_YEAR,day);
			return cal.getTime();
		}
}


© 著作权归作者所有

共有 人打赏支持
上一篇: 加密工具
yabushan
粉丝 1
博文 38
码字总数 34355
作品 0
私信 提问
Java 常用工具包--JCake

JCake是整合了目前Java开发过程中使用最多的:字符串处理、日期处理、邮件处理、文件处理、任务调度处理、HTTP请求处理、MD5/AES加密解密处理的一系列工具类,方便开发人员,减少一些不必要的...

江哥一直在
2014/01/09
2.5K
0
Android 通用工具库--Common4Android

Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合、高内聚,使用起来非常轻松。 -基类 ClassName Description BaseApplic...

徐奕
2016/08/29
884
2
Java 8时间和日期API 20例

伴随lambda表达式、streams以及一系列小优化,Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将...

黄梦巍
2015/06/19
0
0
【你不知道的事系列】Java中处理日期的类

Java中提供了一系列用于处理日期、时间的类,包括创建日期,时间对象,获取系统当前日期,时间等操作 Date类: 位于java.util.Date,从JDK1.0起就存在了,但现在它的大部分构造器,方法已过时...

LSantorini
2015/08/10
0
2
记录Newtonsoft.Json的日常用法

最近在做一个使用基于.net mvc 实现前后台传输Json的实例。网上找了一些资料。发现在开发的时候,许多的数据交互都是以Json格式传输的。其中涉及序列化对象的使用的有DataContractJsonSeria...

爱吃冬瓜不吃西瓜
2018/09/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
4
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0
RabbitMQ学习(2)

1. 生产者客户端 void basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, BasicProperties props, byte[] body) 1. 在生产者客户端发送消息时,首先......

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部