package com.org.java7.core.test;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* @Author:jilongliang
* @Date :2012-8-19
* @Project:JAVA7
* @Description:时间处理类
*/
@SuppressWarnings("all")
public class DateHelper {
/**
* 字符串转换为java.util.Date<br>
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z Example:'2002-1-1 AD at 22:10:59 PSD'<br>
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'<br>
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'<br>
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00' <br>
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am' <br>
*
* @param time
* String 字符串<br>
* @return Date 日期<br>
*/
public static Date getStringToDate(String time) {
SimpleDateFormat formatter;
int tempPos = time.indexOf("AD");
time = time.trim();
formatter = new SimpleDateFormat("yyyy.MM.dd G 'at' hh:mm:ss z");
if (tempPos > -1) {
time = time.substring(0, tempPos) + "公元"
+ time.substring(tempPos + "AD".length());// china
formatter = new SimpleDateFormat("yyyy.MM.dd G 'at' hh:mm:ss z");
}
tempPos = time.indexOf("-");
if (tempPos > -1 && (time.indexOf(" ") < 0)) {
formatter = new SimpleDateFormat("yyyyMMddHHmmssZ");
} else if ((time.indexOf("/") > -1) && (time.indexOf(" ") > -1)) {
formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
} else if ((time.indexOf("-") > -1) && (time.indexOf(" ") > -1)) {
formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
} else if ((time.indexOf("/") > -1) && (time.indexOf("am") > -1)
|| (time.indexOf("pm") > -1)) {
formatter = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss a");
} else if ((time.indexOf("-") > -1) && (time.indexOf("am") > -1)
|| (time.indexOf("pm") > -1)) {
formatter = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss a");
}
ParsePosition pos = new ParsePosition(0);
Date date = formatter.parse(time, pos);
return date;
}
/**
* 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss'(24小时制)<br>
* 如Sat May 11 17:24:21 CST 2002 to '2002-05-11 17:24:21'<br>
*
* @param time
* Date 日期<br>
* @return String 字符串<br>
*/
public static String getDateToString(Date time) {
SimpleDateFormat formatter;
formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String Time = formatter.format(time);
return Time;
}
/**
* 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss a'(12小时制)<br>
* 如Sat May 11 17:23:22 CST 2002 to '2002-05-11 05:23:22 下午'<br>
*
* @param time
* Date 日期<br>
* @param x
* int 任意整数如:1<br>
* @return String 字符串<br>
*/
public static String getDateToString(Date time, int x) {
SimpleDateFormat formatter;
formatter = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss a");
String date = formatter.format(time);
return date;
}
/**
* 取系统当前时间:返回只值为如下形式 2002-10-30 20:24:39
*
* @return String
*/
public static String getNow() {
return getDateToString(new Date());
}
/**
* 取系统当前时间:返回只值为如下形式 2002-10-30 08:28:56 下午
*
* @param hour
* 为任意整数
* @return String
*/
public static String getNow(int hour) {
return getDateToString(new Date(), hour);
}
/**
* 获取小时
*
* @return
*/
public static String getHour() {
SimpleDateFormat formatter;
formatter = new SimpleDateFormat("H");
String hour = formatter.format(new Date());
return hour;
}
/**
* 获取当前日日期返回 <return>Day</return>
*/
public static String getDay() {
SimpleDateFormat formatter;
formatter = new SimpleDateFormat("d");
String day = formatter.format(new Date());
return day;
}
/**
* 获取周
* @return
*/
public static String getWeek() {
SimpleDateFormat formatter;
formatter = new SimpleDateFormat("E");
String week = formatter.format(new Date());
return week;
}
/**
* 获取上周的第一天
*
* @return
*/
public static String getBeforeWeekFirstDay() {
Simpl
Java的DateHelper时间处理类
最新推荐文章于 2024-08-25 09:22:28 发布
本文详细介绍了Java中自定义的DateHelper类,该类提供了丰富的时间处理方法,包括日期格式化、时间计算等,旨在简化日期时间操作,提高代码可读性和效率。
摘要由CSDN通过智能技术生成