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

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自写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;
    

以上是关于自写Java时间处理工具(处理数据用)的主要内容,如果未能解决你的问题,请参考以下文章

自写时间小工具类

.Net自写Task进程监控程序

自写小函数处理 javascript 0.3*0.2 浮点类型相乘问题

自写Date工具类

数据结构——自写简易哈希表(Java)

c++三种智能指针以及相关知识自写智能指针