对时间的封装工具类

本文介绍了一个Java工具类,用于处理日期和时间的各种常见操作,包括获取当前时间、日期格式化、字符串与日期对象之间的转换等。该工具类简化了Java应用程序中日期时间处理的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.sql.Timestamp;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.apache.commons.lang.xwork.StringUtils;

public class CalendarUtil {

/**
* 获取系统时间的long型值
* @return
*/
public static Long getCurrentTime(){
Calendar calendar =Calendar.getInstance();
return calendar.getTimeInMillis();
}

/**
* 获取当前系统时间yyyy-MM-dd
* @return
*/
public static String getShortCurrentDateTime(){
Calendar c = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(c.getTime());
}

/**
* 获取当前系统时间yyyy-MM-dd HH:mm:ss
* @return
*/
public static String getCurrentDateTime(){
Calendar c = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return dateFormat.format(c.getTime());
}

/**
* 获取当前系统时间yyyy-MM-dd HH:mm:ss
* @return
*/
public static String getCurrentDateTimeFF(){
Calendar c = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
return dateFormat.format(c.getTime());
}


/**
* 获取当前系统的时间
* @return
*/
public static final Timestamp getCurrentTimestamp(){
Calendar c = Calendar.getInstance();
return convertTime(c);
}


/**
* 将Calendar 转换成 Timestamp
* @param calendar
* @return
*/
public static final Timestamp convertTime(Calendar calendar) {
long time = calendar.getTimeInMillis();
return new Timestamp(time);
}

/**
* 将Timestamp转换成字符串
* @param time
* @return
*/
public static final String convertTime(Timestamp time) {
Calendar c = convert(time);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return dateFormat.format(c.getTime());
}

/**
* 将Timestamp转换成字符串格式(yyyy-MM-dd)
* @param time
* @return
*/
public static final String TimestampToString(Timestamp time) {
Calendar c = convert(time);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(c.getTime());
}

/**
* 将Timestamp转换成字符串格式 yyyy年MM月dd日
* @param time 时间
* @return
*/
public static final String TimestampToChStr(Timestamp time) {
Calendar c = convert(time);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return dateFormat.format(c.getTime());
}

/**
* 将字符串时间装换成 Timestamp
* @param time
* @return
*/
public static final Timestamp convertTime(String time) {
if (time == null || time.length() < 10)
return null;
return Timestamp.valueOf(time);
}

/**
* 将Timestamp转换成Calendar
* @param timestamp
* @return
*/
public static final Calendar convert(Timestamp timestamp) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timestamp.getTime());
return calendar;
}

/**
* 将calendar转换为字符串并返回。
*
* @param dateString
* @return 日期字符串 'yyyy-MM-dd HH:mm:ss'
*/
public static final String convert(Calendar cld) {
java.util.Date d = cld.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = formatter.format(d);
return s;
}

/**
* 将java.sql.Date转换为字符串并返回。
* @param dateString
* @return 日期字符串 'yyyy-MM-dd'
*/
public static final String convert(java.sql.Date date) {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String s = formatter.format(date);
return s;
}

/**
* 将java.util.Date转换为字符串并返回。
* @param dateString
* @return 日期字符串 'yyyy-MM-dd'
*/
public static final String convert(java.util.Date date) {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String s = formatter.format(date);
return s;
}

/**
* 将字符串时间转换成 java.sql.Timestamp时间戳
* @param sDate 字符串日期
* @param format 日期format格式
* @return 格式化后的java.sql.Timestamp时间戳
*/
public static final Timestamp convertToTimestamp(String sDate,String format){
String sformateDate="";
if(StringUtils.isBlank(sDate) || StringUtils.isBlank(format)){
return null;
}
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date date = sdf.parse(sDate);
sformateDate = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
} catch (ParseException e) {
e.printStackTrace();
}
if(StringUtils.isNotBlank(sformateDate)){
return Timestamp.valueOf(sformateDate);
}
return null;
}

/**
* 将字符串时间转换成 java.sql.Timestamp时间戳字符串
* @param sDate 字符串日期
* @param format 日期format格式
* @return 格式化后的java.sql.Timestamp时间戳字符串
*/
public static final String convertToTimestampString(String sDate,String format){
String sformateDate="";
if(StringUtils.isBlank(sDate) || StringUtils.isBlank(format)){
return null;
}
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date date = sdf.parse(sDate);
sformateDate = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
} catch (ParseException e) {
e.printStackTrace();
}
if(StringUtils.isNotBlank(sformateDate)){
return Timestamp.valueOf(sformateDate).toString();
}
return null;
}

/**
* 字符串日期格式化为java.sql.Date日期
* @param timeStr 字符串日期
* @return java.sql.Date
*/
public static java.sql.Date toSqlDate(String timeStr){
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(timeStr);
java.sql.Date formatDate = new java.sql.Date(date.getTime());
return formatDate;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}


}

转载于:https://www.cnblogs.com/csy666/p/6661703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值