Files
smartDriveEE/src/main/java/com/rj/common/TimeZoneUtils.java

61 lines
1.4 KiB
Java

package com.rj.common;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.rj.config.AppConfig;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
/**
* 时区工具类
* 提供统一的时区相关工具方法
*
* @author Auto Generated
* @since 2025-01-01
*/
@Component
public class TimeZoneUtils {
private static AppConfig appConfig;
@Autowired
public void setAppConfig(AppConfig appConfig) {
TimeZoneUtils.appConfig = appConfig;
}
/**
* 获取应用配置的时区ID
*
* @return ZoneId
*/
public static ZoneId getZoneId() {
String timezone = appConfig != null ? appConfig.getTimezone() : "Asia/Shanghai";
return ZoneId.of(timezone);
}
/**
* 获取当前时区的当前时间
*
* @return LocalDateTime
*/
public static LocalDateTime now() {
return ZonedDateTime.now(getZoneId()).toLocalDateTime();
}
/**
* 将指定时区的时间转换为应用时区的LocalDateTime
*
* @param zonedDateTime 带时区的时间
* @return LocalDateTime
*/
public static LocalDateTime toLocalDateTime(ZonedDateTime zonedDateTime) {
if (zonedDateTime == null) {
return null;
}
return zonedDateTime.withZoneSameInstant(getZoneId()).toLocalDateTime();
}
}