java date 操作类_DateUtils日期操作Java类详解

用于日期的各种操作,简单实用。。。

[Java]代码

import java.sql.Timestamp;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;

/**

* 日期工具类, 继承org.apache.commons.lang.time.DateUtils类

* @author

* @version 2015-10-12

*/

public class DateUtils extends org.apache.commons.lang3.time.DateUtils {

private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",

"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" };

/**

* 得到当前日期字符串 格式(yyyy-MM-dd)

*/

public static String getDate() {

return getDate("yyyy-MM-dd");

}

/**

* 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"

*/

public static String getDate(String pattern) {

return DateFormatUtils.format(new Date(), pattern);

}

/**

* 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"

*/

public static String formatDate(Date date, Object... pattern) {

String formatDate = null;

if (pattern != null && pattern.length > 0) {

formatDate = DateFormatUtils.format(date, pattern[0].toString());

} else {

formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");

}

return formatDate;

}

/**

* 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)

*/

public static String formatDateTime(Date date) {

return formatDate(date, "yyyy-MM-dd HH:mm:ss");

}

/**

* 得到当前时间字符串 格式(HH:mm:ss)

*/

public static String getTime() {

return formatDate(new Date(), "HH:mm:ss");

}

/**

* 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss)

*/

public static String getDateTime() {

return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");

}

/**

* 得到当前年份字符串 格式(yyyy)

*/

public static String getYear() {

return formatDate(new Date(), "yyyy");

}

/**

* 得到当前月份字符串 格式(MM)

*/

public static String getMonth() {

return formatDate(new Date(), "MM");

}

/**

* 得到当天字符串 格式(dd)

*/

public static String getDay() {

return formatDate(new Date(), "dd");

}

/**

* 得到当前星期字符串 格式(E)星期几

*/

public static String getWeek() {

return formatDate(new Date(), "E");

}

/**

* 日期型字符串转化为日期 格式

* { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",

* "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }

*/

public static Date parseDate(Object str) {

if (str == null){

return null;

}

try {

return parseDate(str.toString(), parsePatterns);

} catch (ParseException e) {

return null;

}

}

/**

* 获取过去的天数

* @param date

* @return

*/

public static long pastDays(Date date) {

long t = new Date().getTime()-date.getTime();

return t/(24*60*60*1000);

}

public static Date getDateStart(Date date) {

if(date==null) {

return null;

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

date= sdf.parse(formatDate(date, "yyyy-MM-dd")+" 00:00:00");

} catch (ParseException e) {

e.printStackTrace();

}

return date;

}

public static Date getDateEnd(Date date) {

if(date==null) {

return null;

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

date= sdf.parse(formatDate(date, "yyyy-MM-dd") +" 23:59:59");

} catch (ParseException e) {

e.printStackTrace();

}

return date;

}

/**

* 判断字符串是否是日期

* @param timeString

* @return

*/

public static boolean isDate(String timeString){

SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");

format.setLenient(false);

try{

format.parse(timeString);

}catch(Exception e){

return false;

}

return true;

}

/**

* 格式化时间

* @param timestamp

* @return

*/

public static String dateFormat(Date timestamp){

SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return format.format(timestamp);

}

/**

* 获取系统时间Timestamp

* @return

*/

public static Timestamp getSysTimestamp(){

return new Timestamp(new Date().getTime());

}

/**

* 获取系统时间Date

* @return

*/

public static Date getSysDate(){

return new Date();

}

/**

* 生成时间随机数

* @return

*/

public static String getDateRandom(){

String s=new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());

return s;

}

/**

* @param args

* @throws ParseException

*/

public static void main(String[] args) throws ParseException {

//System.out.println(formatDate(parseDate("2010/3/6")));

//System.out.println(getDate("yyyy年MM月dd日 E"));

//long time = new Date().getTime()-parseDate("2012-11-19").getTime();

//System.out.println(time/(24*60*60*1000));

}

}

commons-lang3-3.1.jar ~ 308KB

commons-lang3-3.1-sources.jar ~ 384KB     (12)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值