日期和时间工具类

本文介绍了一种日期时间字符串格式转换的方法,包括去除数据库存储的date类型字段转成JAVA的String类型的多余部分,以及如何将date型日期转换为指定格式的字符串,并提供了将String型日期转换为date型的方法。
/**
* 日期格式: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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值