前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Java] 日期与时间的一些操作

[Java] 日期与时间的一些操作

作者头像
泰坦HW
发布2020-07-22 16:21:32
7900
发布2020-07-22 16:21:32
举报
文章被收录于专栏:Titan笔记

实现构造一个时间,获取当前时间戳,日期时间与时间戳的互换等操作

代码语言:javascript
复制
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;

// Java时间操作的一些实例 By Titan 2020-04-01
public class TimeStudy {
    public static void main(String[] args) {
        formatDate();
        dateCovert();
    }

    // 格式化当前时间
    public static void formatDate() {
        System.out.println("Format Date");
        // 老API方式
        Date date = new Date();
        String strDateFormat = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
        System.out.println("The formatted date is : ");
        System.out.println(sdf.format(date));
        // Java8方式
        LocalDateTime lt = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println("The formatted date is : ");
        System.out.println(formatter.format(lt));
        System.out.println("-------------------------------------------------------");
    }

    // 时间戳与时间日期的互相转换
    public static void dateCovert() {
        LocalDateTime lt = LocalDateTime.now();
        // 获取当前时间戳
        // 秒级时间戳
        long timestamp = lt.toEpochSecond(ZoneOffset.ofHours(8));
        // 毫秒级时间戳
        long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
        System.out.println("The current timestamp is: \n" + timestamp);
        System.out.println("The current millisecond timestamp is: \n" + milliSecond);
        // 获取任意时间的时间戳
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime newLt = LocalDateTime.parse("2019-01-01 00:00:00", formatter);
        long millSecond2 = newLt.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
        System.out.println("The mill-second of 2019-01-01 00:00:00 is:\n" + millSecond2);
        // 时间戳转时间
        Instant ins = Instant.ofEpochMilli(millSecond2);
        LocalDateTime localDateTime = LocalDateTime.ofInstant(ins, ZoneOffset.ofHours(8));
        String dateTimeText = localDateTime.format(formatter);
        System.out.println("The LocalDateTime of " + millSecond2 + " is:\n" + dateTimeText);
        System.out.println("-------------------------------------------------------");

    }


}

结果类似于下面

JDK8中的新特性:用 LocalDateTime 与 DateTimeFormatter 代替了老的 Date 与 SimpeDateFormat,更加的方便,进行时间日期的运算也更加简洁了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年04月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档