- 获取当前时间
- 获取今天日期
- 获取昨天日期
- 获取当前时间戳
- 时间戳(毫秒级)转字符串
- 时间戳(秒级)转字符串
- 字符串转时间戳(毫秒级)
- 字符串转时间戳(秒级)
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;
}
}