帮我用java生成一个工具类,包含丰富的对时间操作的方法并附带注释,一定要包含一个方法传入类似于2021-09-27 08:30:00的值输出08:30:00
时间: 2024-02-06 11:04:26 浏览: 22
好的,我可以帮你生成一个Java工具类,包含对时间操作的方法。以下是代码及注释:
```java
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TimeUtil {
/**
* 将时间戳转换成时间格式字符串
*
* @param timestamp 时间戳
* @param pattern 时间格式
* @return 时间格式字符串
*/
public static String timestamp2String(long timestamp, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date(timestamp));
}
/**
* 将时间格式字符串转换成时间戳
*
* @param time 时间格式字符串
* @param pattern 时间格式
* @return 时间戳
*/
public static long string2Timestamp(String time, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
Date date = sdf.parse(time);
return date.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
/**
* 获取当前时间戳
*
* @return 当前时间戳
*/
public static long getCurrentTimestamp() {
return System.currentTimeMillis();
}
/**
* 获取当前时间格式字符串
*
* @param pattern 时间格式
* @return 当前时间格式字符串
*/
public static String getCurrentTimeString(String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date());
}
/**
* 将时间格式字符串转换成Date对象
*
* @param time 时间格式字符串
* @param pattern 时间格式
* @return Date对象
*/
public static Date string2Date(String time, String pattern) {
DateFormat df = new SimpleDateFormat(pattern);
try {
return df.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 将Date对象转换成时间格式字符串
*
* @param date Date对象
* @param pattern 时间格式
* @return 时间格式字符串
*/
public static String date2String(Date date, String pattern) {
DateFormat df = new SimpleDateFormat(pattern);
return df.format(date);
}
/**
* 获取当前时间的Calendar对象
*
* @return 当前时间的Calendar对象
*/
public static Calendar getCurrentCalendar() {
return Calendar.getInstance();
}
/**
* 获取指定时间的Calendar对象
*
* @param time 时间格式字符串
* @param pattern 时间格式
* @return 指定时间的Calendar对象
*/
public static Calendar getCalendar(String time, String pattern) {
DateFormat df = new SimpleDateFormat(pattern);
Calendar calendar = Calendar.getInstance();
try {
calendar.setTime(df.parse(time));
} catch (ParseException e) {
e.printStackTrace();
}
return calendar;
}
/**
* 将日期格式字符串转换成指定格式的日期格式字符串
*
* @param time 日期格式字符串
* @param originPattern 原日期格式
* @param targetPattern 目标日期格式
* @return 指定格式的日期格式字符串
*/
public static String formatDateString(String time, String originPattern, String targetPattern) {
DateFormat originDf = new SimpleDateFormat(originPattern);
DateFormat targetDf = new SimpleDateFormat(targetPattern);
try {
Date date = originDf.parse(time);
return targetDf.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 获取时间格式字符串中的小时和分钟部分
*
* @param time 时间格式字符串
* @param pattern 时间格式
* @return 小时和分钟部分
*/
public static String getHourMinute(String time, String pattern) {
DateFormat df = new SimpleDateFormat(pattern);
try {
Date date = df.parse(time);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
```
其中,你可以使用 `getHourMinute` 方法来获取时间格式字符串中的小时和分钟部分。示例代码如下:
```java
String time = "2021-09-27 08:30:00";
String pattern = "yyyy-MM-dd HH:mm:ss";
String hourMinute = TimeUtil.getHourMinute(time, pattern);
System.out.println(hourMinute); // 输出:08:30:00
```