自写Java时间处理工具(处理数据用)

  1. 获取当前时间
  2. 获取今天日期
  3. 获取昨天日期
  4. 获取当前时间戳
  5. 时间戳(毫秒级)转字符串
  6. 时间戳(秒级)转字符串
  7. 字符串转时间戳(毫秒级)
  8. 字符串转时间戳(秒级)
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;

public class TimeHandler {
    
    
    private static final DateTimeFormatter yMd = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    private static final DateTimeFormatter yMdHms = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    public static void main(String[] args) {
    
    
        System.out.println("现在:" + now());
        System.out.println("今天:" + today());
        System.out.println("昨天:" + yesterday());
        System.out.println("当前时区:" + ZoneId.systemDefault());
        long t = currentTimestamp();
        System.out.println("当前时间戳(毫秒级):" + t);
        System.out.println("当前时间戳(毫秒级)转字符串:" + millisecond2str(t));
        System.out.println("时间戳1666540800转字符串:" + second2str(1666540800));
        System.out.println("字符串转时间戳");
        System.out.println("  毫秒级:" + str2millisecond("2022-10-24 00:00:00"));
        System.out.println("  秒级:" + str2second("2022-10-24 00:00:00"));
    }

    public static String now() {
    
    
        return LocalDateTime.now().format(yMdHms);
    }

    public static String today() {
    
    
        return LocalDateTime.now().format(yMd);
    }

    public static String yesterday() {
    
    
        LocalDateTime now = LocalDateTime.now();
        return now.minusDays(1).format(yMd);
    }

    public static long currentTimestamp() {
    
    
        return System.currentTimeMillis();
    }

    public static String millisecond2str(long ms) {
    
    
        LocalDateTime t = LocalDateTime.ofInstant(Instant.ofEpochMilli(ms), ZoneId.of("Asia/Shanghai"));
        return t.format(yMdHms);
    }

    public static String second2str(long s) {
    
    
        return millisecond2str(s * 1000L);
    }

    public static long str2millisecond(String s) {
    
    
        LocalDateTime t = LocalDateTime.parse(s, yMdHms);
        return t.toInstant(ZoneOffset.of("+8")).toEpochMilli();
    }

    public static long str2second(String s) {
    
    
        return str2millisecond(s) / 1000;
    }
}

猜你喜欢

转载自blog.csdn.net/Yellow_python/article/details/128080545