142 lines
4.0 KiB
Java
142 lines
4.0 KiB
Java
package com.example.sso.util;
|
||
|
||
import java.text.DateFormat;
|
||
import java.text.ParseException;
|
||
import java.text.SimpleDateFormat;
|
||
import java.time.LocalDate;
|
||
import java.util.Calendar;
|
||
import java.util.Date;
|
||
import java.util.Locale;
|
||
import java.util.TimeZone;
|
||
|
||
public class TimeUtil {
|
||
public static String day() {
|
||
LocalDate currentDate = LocalDate.now();
|
||
String one = currentDate.toString();
|
||
return one;
|
||
}
|
||
|
||
public static long nowday() {
|
||
Calendar calendar = Calendar.getInstance();
|
||
calendar.set(Calendar.HOUR_OF_DAY, 0); // 将小时设置为0
|
||
calendar.set(Calendar.MINUTE, 0); // 将分钟设置为0
|
||
calendar.set(Calendar.SECOND, 0); // 将秒设置为0
|
||
calendar.set(Calendar.MILLISECOND, 0); // 将毫秒设置为0
|
||
|
||
// 获取当天0点的时间戳(毫秒)
|
||
long timestamp = calendar.getTimeInMillis();
|
||
return timestamp;
|
||
}
|
||
|
||
public static long tomorowday() {
|
||
Calendar calendar = Calendar.getInstance();
|
||
calendar.add(Calendar.DAY_OF_MONTH, 1); // 将日期增加1天,即获取明天的日期
|
||
calendar.set(Calendar.HOUR_OF_DAY, 0); // 将小时设置为0
|
||
calendar.set(Calendar.MINUTE, 0); // 将分钟设置为0
|
||
calendar.set(Calendar.SECOND, 0); // 将秒设置为0
|
||
calendar.set(Calendar.MILLISECOND, 0); // 将毫秒设置为0
|
||
|
||
// 获取明天0点的时间戳(毫秒)
|
||
long timestamp = calendar.getTimeInMillis();
|
||
return timestamp;
|
||
}
|
||
|
||
public static String timeConversion(String originalDateTime) throws ParseException {
|
||
|
||
|
||
|
||
|
||
// 创建日期时间格式化对象
|
||
DateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
|
||
originalFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // 设置时区为UTC
|
||
|
||
// 解析原始日期时间字符串为Date对象
|
||
Date date = originalFormat.parse(originalDateTime);
|
||
|
||
// 加上8个小时
|
||
long timeInMillis = date.getTime() + (8 * 60 * 60 * 1000); // 8小时的毫秒数
|
||
|
||
// 创建新的日期对象
|
||
Date newDate = new Date(timeInMillis);
|
||
|
||
// 创建日期时间格式化对象,用于格式化新的日期对象
|
||
DateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||
|
||
// 格式化新的日期对象为字符串
|
||
String newDateTime = newFormat.format(newDate);
|
||
|
||
// 输出结果
|
||
|
||
return newDateTime;
|
||
|
||
}
|
||
|
||
|
||
public static String timeConversions(String originalDateTime) throws ParseException {
|
||
|
||
|
||
|
||
|
||
// 创建日期时间格式化对象
|
||
DateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
|
||
|
||
// 设置时区为UTC
|
||
originalFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||
|
||
// 解析原始日期时间字符串为Date对象
|
||
Date date = originalFormat.parse(originalDateTime);
|
||
|
||
// 创建日期时间格式化对象,用于格式化Date对象为字符串
|
||
DateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||
|
||
// 格式化Date对象为字符串
|
||
String newDateTime = newFormat.format(date);
|
||
return newDateTime;
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
public static String month() {
|
||
|
||
Calendar calendar = Calendar.getInstance();
|
||
|
||
// 获取当前月份
|
||
int year = calendar.get(Calendar.YEAR);
|
||
int month = calendar.get(Calendar.MONTH) + 1; // 月份从 0 开始,所以要加 1
|
||
|
||
// 格式化为 "YYYY-MM"
|
||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
||
String formattedMonth = dateFormat.format(calendar.getTime());
|
||
return formattedMonth;
|
||
|
||
}
|
||
|
||
|
||
|
||
public static String now() {
|
||
|
||
Date currentDate = new Date();
|
||
|
||
// 创建日期格式化对象,指定目标格式
|
||
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||
|
||
// 格式化当前日期为指定格式的字符串
|
||
String formattedDate = dateFormat.format(currentDate);
|
||
return formattedDate;
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
}
|