文档章节

日期处理工具类

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
记录Newtonsoft.Json的日常用法

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

爱吃冬瓜不吃西瓜
09/03
0
0
【你不知道的事系列】Java中处理日期的类

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

LSantorini
2015/08/10
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Zookeeper分析

沉稳2018
32分钟前
3
0
mockito learn one

mockito 介绍 mockito是一个很好用的模拟测试框架,能够让你写出简单优美测试,它不会给你残留的测试,因为它可读而且能够简单的验证错误。 如何使用? 引入依赖 <!-- https://mvnrepository...

writeademo
47分钟前
2
0
String转成JSON的实现

String转成JSON 这个依赖很重要,我们将围绕fastjson中的JSONObject这个类来谈转换 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免...

编程SHA
58分钟前
1
0
详解Object.values(),Object.keys(),Object.entries(),Object.create(),includes()

(1)Object.keys() // 返回数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。 eg:var obj = {a:1,b:'gy'} Object.keys(obj) // ['a','b'] (2)...

JamesView
今天
2
0
Git —— 创建版本库和提交回退版本

二、 创建版本库 版本库又叫做仓库,简单理解就是一个目录,这个目录里面所有的文件都可以被Git管理起来,每个文件的修改、删除,Git都可以跟踪,便于追踪历史与还原。找到一个合适的位置,创...

lwenhao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部