dcb
2025-07-09 e53252b99e7b49b435b7a6ee3eab21ae1bd7a055
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.se.nsl.utils;
 
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;
 
/**
 * @author dcb
 */
public class TimeFormatUtil {
    private TimeFormatUtil() {}
 
    public static String formatTime(long time, String pattern) {
        Instant instant = Instant.ofEpochMilli(time);
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
        return localDateTime.format(formatter);
    }
 
    public static long toMillis(String time, String pattern) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
        LocalDateTime dateTime = LocalDateTime.parse(time, formatter);
        return dateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
    }
 
    public static LocalDateTime toDate(long time) {
        Instant instant = Instant.ofEpochMilli(time);
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
        return localDateTime;
    }
 
    public static String formatDate(Date date) {
        return formatTime(date.getTime(), "yyyy-MM-dd HH:mm:ss");
    }
 
    public static void main(String[] args) {
        String s = "20250606142122";
        String pattern = "yyyyMMddHHmmss";
        long millis = toMillis(s, pattern);
        System.out.println("millis:" + millis);
        String str = formatTime(millis, pattern);
        System.out.println("str:" + str);
    }
}