package com.leromro.core.utils;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

public class DateTimeUtil {
    
    // 私有构造方法防止实例化
    private DateTimeUtil() {
        throw new UnsupportedOperationException("工具类不允许实例化");
    }
    
    /**
     * 获取当前时间的 Date 对象（系统默认时区）
     * @return 当前时间的 Date 对象
     */
    public static Date getNowTime() {
        // 将 LocalDateTime 转换为系统默认时区的 Instant，再转为 Date
        return Date.from(
            LocalDateTime.now()
                .atZone(ZoneId.systemDefault())
                .toInstant()
        );
    }

    /**
     * 可选：获取指定时区的当前时间 Date 对象（例如 Asia/Shanghai）
     * @param zoneId 时区ID，例如 "Asia/Shanghai"
     * @return 指定时区的 Date 对象
     */
    public static Date getNowTime(String zoneId) {
        return Date.from(
            LocalDateTime.now()
                .atZone(ZoneId.of(zoneId))
                .toInstant()
        );
    }
}