/**
* 日期格式:yyyy-MM-dd HH:mm:ss
*/
public static final String DATE_FARMAT = "yyyy-MM-dd HH:mm:ss";
/**
* 日期格式:yyyyMMddHHmmss
*/
public static final String DATE_FORMAT_2 = "yyyyMMddHHmmss";
/**
* 数据库存储的date类型字段转成JAVA的String类型为2006-06-11 03:35:13.0,需要去掉后面的.0
*/
private static final String DATE_STRING_EXTRA = ".0";
/**
* 默认构造方法 不允许实例化
*/
private DateTimeUtil()
{
}
/**
* 日期时间字符串格式转换
*
* 数据库存储的date类型字段转成JAVA的String类型为2006-06-11 03:35:13.0,需要去掉后面的.0
*
* @param dateStr 日期时间字符串
* @return 去掉.0的日期时间字符串
* @see [类、类#方法、类#成员]
*/
public static String formatDateString(String dateStr)
{
if (null != dateStr)
{
// 后面包含.0日期时间字符串才需要处理
int index = dateStr.lastIndexOf(DATE_STRING_EXTRA);
if (0 < index)
{
dateStr = dateStr.substring(0, index);
}
}
return dateStr;
}
/**
* 将date型日期转换为想要的字符格式 <一句话功能简述> <功能详细描述>
*
* @param date date日期
* @param dateFormat 日期格式:如yyyy-MM-dd HH:mm:ss
* @return String
* @see [类、类#方法、类#成员]
*/
public static String formatDateToString(Date date, String dateFormat)
{
SimpleDateFormat format = new SimpleDateFormat(dateFormat);
return format.format(date);
}
/**
* 将String型日期转换为想要的date型 <一句话功能简述> <功能详细描述>
*
* @param currentTime currentTime
* @return Date
* @see [类、类#方法、类#成员]
*/
public static Date formatStringToDate(String currentTime)
{
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat(DATE_FARMAT);
try
{
date = df.parse(currentTime);
}
catch (ParseException e)
{
LogManager.getDebugLog().error("", e);
}
return date;
}
/**
* 得到当前格林威治的日期和时间
*
* @return String
*/
public static String getUTCDateTimeNow()
{
// 取时区
TimeZone zone = TimeZone.getDefault();
Calendar c = Calendar.getInstance();
Date date = new Date();
// 计算时区偏差
c.setTimeInMillis(date.getTime() - zone.getOffset(date.getTime()));
// 格式化
SimpleDateFormat formatter = new SimpleDateFormat(DATE_FARMAT);
String dateString = formatter.format(c.getTime());
return dateString;
}
* 日期格式:yyyy-MM-dd HH:mm:ss
*/
public static final String DATE_FARMAT = "yyyy-MM-dd HH:mm:ss";
/**
* 日期格式:yyyyMMddHHmmss
*/
public static final String DATE_FORMAT_2 = "yyyyMMddHHmmss";
/**
* 数据库存储的date类型字段转成JAVA的String类型为2006-06-11 03:35:13.0,需要去掉后面的.0
*/
private static final String DATE_STRING_EXTRA = ".0";
/**
* 默认构造方法 不允许实例化
*/
private DateTimeUtil()
{
}
/**
* 日期时间字符串格式转换
*
* 数据库存储的date类型字段转成JAVA的String类型为2006-06-11 03:35:13.0,需要去掉后面的.0
*
* @param dateStr 日期时间字符串
* @return 去掉.0的日期时间字符串
* @see [类、类#方法、类#成员]
*/
public static String formatDateString(String dateStr)
{
if (null != dateStr)
{
// 后面包含.0日期时间字符串才需要处理
int index = dateStr.lastIndexOf(DATE_STRING_EXTRA);
if (0 < index)
{
dateStr = dateStr.substring(0, index);
}
}
return dateStr;
}
/**
* 将date型日期转换为想要的字符格式 <一句话功能简述> <功能详细描述>
*
* @param date date日期
* @param dateFormat 日期格式:如yyyy-MM-dd HH:mm:ss
* @return String
* @see [类、类#方法、类#成员]
*/
public static String formatDateToString(Date date, String dateFormat)
{
SimpleDateFormat format = new SimpleDateFormat(dateFormat);
return format.format(date);
}
/**
* 将String型日期转换为想要的date型 <一句话功能简述> <功能详细描述>
*
* @param currentTime currentTime
* @return Date
* @see [类、类#方法、类#成员]
*/
public static Date formatStringToDate(String currentTime)
{
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat(DATE_FARMAT);
try
{
date = df.parse(currentTime);
}
catch (ParseException e)
{
LogManager.getDebugLog().error("", e);
}
return date;
}
/**
* 得到当前格林威治的日期和时间
*
* @return String
*/
public static String getUTCDateTimeNow()
{
// 取时区
TimeZone zone = TimeZone.getDefault();
Calendar c = Calendar.getInstance();
Date date = new Date();
// 计算时区偏差
c.setTimeInMillis(date.getTime() - zone.getOffset(date.getTime()));
// 格式化
SimpleDateFormat formatter = new SimpleDateFormat(DATE_FARMAT);
String dateString = formatter.format(c.getTime());
return dateString;
}