java中Date、LocalDate、LocalTime、时间戳的相互转化和基本使用方法

这篇具有很好参考价值的文章主要介绍了java中Date、LocalDate、LocalTime、时间戳的相互转化和基本使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、Date

1、Date格式化工具——SimpleDateFormate用于时间的格式化

2、SimpleDateFormate中的常用方法

2、LocalDate与LocalTime 

1、LocalDate的常用方法

2、LocalTime的创建、构造

3、LocalDate、LocalTime格式化工具——DateTimeFormatter

4、parse()与format()

3、calendar

4、时间戳

1、时间戳转换为自定义格式的时间字符串

1、时间戳转换为Date

5、时间间隔计算

1、Date

1、Date格式化工具——SimpleDateFormate用于时间的格式化

        1、yyyy-MM-dd HH:mm:ss(24小时制)

        2、yyyy-MM-dd HH:mm:ss(12小时制)

        3、yyyy-MM-dd HH:mm:ss.SSS(年-月-日 时:分:秒.毫秒)

2、SimpleDateFormate中的常用方法

        format(Date date)方法实现Date数据、Calendar数据转换为指定格式的字符串

        parse(String dateStr)方法将时间格式的String转化为Date数据

import java.text.SimpleDateFormat;
import java.util.Date;

public class demo {
    public static void main(String[] args) {
        Date d=new Date();
        SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); 
        System.out.println("今天的日期:"+df.format(d));
        System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - (long)2 * 24 * 60 * 60 * 1000)));
        System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + (long)3 * 24 * 60 * 60 * 1000)));
    }
}

2、LocalDate与LocalTime 

LocalDate无法包含时间,LocalTime无法包含日期,LocalDateTime才能同时包含时间和日期。

1、LocalDate的常用方法

import java.text.ParseException;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;

public class demo {
    public static void main(String[] args) throws ParseException {
        // 获取今天的日期
        LocalDate today = LocalDate.now();
        // 今天是本月几号
        int dayOfMonth = today.getDayOfMonth();
        // 今天是周几(返回的是个枚举类型,需要再getValue())
        int dayOfWeek = today.getDayOfWeek().getValue();
        // 今天是今年中的第几天
        int dayOfYear = today.getDayOfYear();

        // 根据字符串取:严格按照yyyy-MM-dd验证,02写成2都不行,如何想改变格式通过DateTimeFormatter实现
        LocalDate endOfFeb = LocalDate.parse("2023-02-28");

        // 取本月第1天
        LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth());
        // 取本月第3天
        LocalDate secondDayOfThisMonth = today.withDayOfMonth(3);
        // 取本月最后一天,不用计算是28,29,30还是31
        LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth());
        // 取下一天
        LocalDate firstDayOfNextMonth = today.plusDays(1);
        // 取2023年9月第一个周一
        LocalDate firstMondayOf2023 = LocalDate.parse("2023-09-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));

        System.out.println(firstDayOfNextMonth);
    }
}
import java.time.LocalDate;
import java.time.Period;
import java.time.ZoneId;
import java.util.Date;

public class demo {
    public static void main(String[] args) {
        LocalDate beginTime = LocalDate.now();
        // 月份运算
        LocalDate entTime = beginTime.plus(Period.ofMonths(6));
        // LocalDate 转 Date
        Date date = Date.from(beginTime.atStartOfDay(ZoneId.systemDefault()).toInstant());
    }
}

2、LocalTime的创建、构造

import java.time.LocalTime;

public class demo {
    public static void main(String[] args) {
        LocalTime now = LocalTime.now();
        // 构造
        LocalTime zero = LocalTime.of(0, 0, 0);
        LocalTime mid = LocalTime.parse("12:00:00");
    }
}

3、LocalDate、LocalTime格式化工具——DateTimeFormatter

import java.text.ParseException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class demo {
    public static void main(String[] args) throws ParseException {
        
        LocalDate today = LocalDate.now();
        DateTimeFormatter formatters1 = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
        //formatters1 与 today 位置可以互换
        String text = formatters1.format(today);
        
        LocalTime now = LocalTime.now();
        //formatters2 与 now 位置可以互换
        DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("hh mm ss.SSS");
        String midStr = mid.format(formatter2);
        System.out.println(midStr);
    }
}

4、parse()与format()

parse调用 format调用
SimpleDateFormate

1、创建SimpleDateFormate,确定格式

2、传入时间字符串,sdf.parse(timeStr)

1、创建SimpleDateFormate,确定格式

2、sdf.format(date)

LocalDate

LocalDate.parse(timeStr)

字符串格式严格按照yyyy-MM-dd验证

1、创建DateTimeFormatter,确定格式

2、dtf.format(dateStr)

LocalTime LocalTime.parse(timeStr)

1、创建DateTimeFormatter,确定格式

2、dtf.format(timeeStr)

3、calendar

getTime()获取时间,add()修改时间,get()获取指定部分时间

import java.util.Calendar;

public class demo {
    public static void main(String[] args) {
        // 使用默认时区和语言环境获得一个日历
        Calendar cal = Calendar.getInstance();
        Date nowTime = calendar.getTime();
        calendar.add(Calendar.DATE, 5);
        Date startTime = calendar.getTime();
        // 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
        System.out.println("年:" + cal.get(Calendar.YEAR));
        System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
        System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
        System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
        System.out.println("分:" + cal.get(Calendar.MINUTE));
        System.out.println("秒:" + cal.get(Calendar.SECOND));
    }
}

4、时间戳

Unix时间戳(Unix timestamp)定义为从1970年01月01日00时00分00秒(UTC)起至现在经过的总秒数,是我们北京时间的1970年01月01日08时00分00秒

13位时间戳精确到毫秒,10位精确到秒文章来源地址https://www.toymoban.com/news/detail-777869.html

1、时间戳转换为自定义格式的时间字符串

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class demo {
    public static void main(String[] args) {
        //获取当前毫秒级时间戳
        Long time = System.currentTimeMillis();
        System.out.println(time);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        //返回的是指定格式的string类型时间
        String date = sdf.format(time);
        System.out.println(date);
}

1、时间戳转换为Date

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class demo {
    public static void main(String[] args) {
        //获取当前毫秒级时间戳
        Long time = System.currentTimeMillis();
        Date date = new Date(time);
        System.out.println(date);
}

5、时间间隔计算

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class demo {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        // 定义两个时间
        String startTime = "1949-10-1 00:00:00.000";
        String endTime = "2023-8-21 20:10:10.010";

        // 将两个String类型的时间转换为Date类型,从而计算差值、parse()方法的作用是将String类型的时间解析为Date类型
        Date d1 = df.parse(startTime);
        Date d2 = df.parse(endTime);

        System.out.println((((d2.getTime() - d1.getTime()) / (24 * 60 * 60 * 1000))) / 365 + "年");
        // 以下总和为时间差
        System.out.println((d2.getTime() - d1.getTime()) / (24 * 60 * 60 * 1000) + "天");
        System.out.println((((d2.getTime() - d1.getTime()) / (60 * 60 * 1000)) % 24) + "小时");
        System.out.println((((d2.getTime() - d1.getTime()) / 1000) % 60) + "分钟");
        System.out.println(((d2.getTime() - d1.getTime()) / (60 * 1000)) % 60 + "秒");
        System.out.println((((d2.getTime() - d1.getTime())) % 1000) + "毫秒");

    }
}

到了这里,关于java中Date、LocalDate、LocalTime、时间戳的相互转化和基本使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java中LocalDateTime/DateTime与Date相互转化(java中时间转化)

    LocalDateTime是JDK1.8出现的新特性,解决线程不安全的问题,但是当前很多的相关插件或者使用较低版本的时候,会依旧使用Date的情况,这个时候就需要两者之间的相互转化 新增的API严格区分了时刻、本地日期、本地时间,并且,对日期和时间进行运算更加方便。 其次,新AP

    2024年02月15日
    浏览(44)
  • java8日期类LocalDate、LocalTime、LocalDateTime使用详解

    在 Java8 之前通常会使用 Date 结合 SimpleDateFormat 、 Calender 来处理时间和日期的相关需求。 但是这些 API 也存在明显的缺点: 可读性差、易用性差、使用起来冗余繁琐 java.util.Date 是非线程安全的 java.util.Date 存在千年虫问题、并且不支持国际化和时区、故大部分方法被声明为过

    2023年04月16日
    浏览(72)
  • Linux下 时间戳的转化

    Linux下一般用date 记录当前时间,尤其是我们需要保存测试log的时候,或者设计一个跑多长时间的脚本都需要时间戳。下面看一下平时最常用的几种写法 1 date “+%Y-%m-%d %H:%M” 显示具体时间 2 修改时间 date -s 3 date +%s :当前时间的时间戳 显示具体时间的时间戳 date -d “2021-08-29

    2024年02月13日
    浏览(35)
  • 进阶JAVA篇- LocalDate 类与 LocalTime 类、LocalDateTime 类的常用API(六)

    目录 API                      1.0 LocalDate 类与 LocalTime 类、LocalDateTime 类的API说明         1.1 如何 创建 LocalDate 类与 LocalTime 类、LocalDateTime 类的对象         1.2 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以  get 开头实例方法         1.3 LocalDateTime 类中的 toL

    2024年02月08日
    浏览(45)
  • JavaScript中的时间日期函数new Date()(JS中5种获取时间戳的函数)

    简介: JavaScript 中的 new Date() 方法用于创建一个新的 Date 对象,该对象表示当前日期和时间。Date 对象提供了许多方法和属性,可以用于获取和设置日期和时间信息。 new Date([year, month, day, hour, minute, second, millisecond]) 其中,每个参数都是可选的。如果没有指定参数,则 new Dat

    2024年02月04日
    浏览(73)
  • Data与Java8中的LocalDate相互转换

    一、前言 Date这个类在 java.util包 中,始于jdk1.0。后来在jdk1.8时,针对日期类进行了一个大的更新,专门新建了 java.time包 ,新的日期类LocalDateTime就在这个包中。 日常工作中,很容易碰到旧日期类Date,与新日期类LocalDateTime的相互转换。下面就介绍一下如何进行转换 二、思路

    2024年02月16日
    浏览(50)
  • java中LocalDate、Calendar、Date类型进行加减

    java三种类型的加减,LocalDate、Calendar、Date @ 目录 1.LocalDate类型加减: 2.Calendar加减: 3.Date类型加减 以下是LocalDate类进行日期加减: 运行结果: 可以看到,使用LocalDate类进行加减操作代码比较简洁清晰,也更易读易懂。 Java中的Calendar类提供了许多方法用于对日期和时间进行加减操

    2024年02月05日
    浏览(51)
  • jdk1.8 LocalTime、LocalDate、LocalDateTime 使用大全

    目录 LocalTime、LocalDate、LocalDateTime 区别 LocalTime、LocalDate、LocalDateTime 使用 now 获取当前 时刻、日期、时间 of 获取指定 时刻、日期、时间 plus || minus 增加或者减少 更改指定的 时间 isAfter || isBefore 比较大小 compareTo 时间比较 LocalTime、LocalDate、LocalDateTime 相互转化 String 与 LocalT

    2023年04月21日
    浏览(64)
  • Java String、Date、Calendar、LocalDate和LocalDateTime互转

    目录 一、String和Date互转 1.1 String时间转为Date 1.2 Date转为String 二、String和Calendar互转 2.1 String时间转为Calendar 2.2 Calendar转为String 三、String和LocalDate(LocalDateTime)互转 3.1 String时间转为LocalDate(LocalDateTime) 3.2 LocalDate(LocalDateTime)转为String 四、Date和Calendar互转 4.1 Date转为Calen

    2024年02月06日
    浏览(48)
  • C# / Unity关于 世界时间、本地时间、UNIX Timestamps,以及相互转化的记录

    C# / Unity关于 世界时间、本地时间、UNIX Timestamps,以及相互转化的记录 世界时间(UtcTime ) :DateTime.UtcNow 获取的是世界时间,如果开发一些全球国际性质的产品,可以用这个时间来进行。 本地时间(LocalTime) : DateTime.Now 获取的是当前用户所在时区的时间,也就是本地时间。 时间

    2024年02月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包