iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中常用时间的一些相关方法
  • 657
分享到

Java中常用时间的一些相关方法

2024-04-02 19:04:59 657人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、获取当前时间的方式二、获取当月第n天三、格式化为字符串四、加减时间(单位可以是秒,小时等)五、通过出生日期获取年龄六、判断两个时间段是否覆盖七、求两个时间间隔八、UTC时

前言

在我们java开发中,Date日期这个字段会被经常使用,比如获取当前系统的时间,获取上个月,上一年的时间,以及获取两个日期相差的时分秒数,或者对日期类型进行格式化,等等,等等,下面将给大家详细介绍下Java中常用时间的一些相关方法

一、获取当前时间的方式


public static void main(String[] args) {
    //Date
    Date now = new Date();
    System.out.println(now);

    //java8的时间
    LocalDateTime localDateTime = LocalDateTime.now();
    System.out.println(localDateTime);


    Calendar calendar = Calendar.getInstance();
    Date time = calendar.getTime();
    System.out.println(time);
    System.out.println("年" + calendar.get(Calendar.YEAR));
    System.out.println("月" + (calendar.get(Calendar.MONTH) + 1));

    //joda time
    DateTime dateTime = DateTime.now();
    System.out.println(dateTime);
}


获取当前时间可以使用Date LocalDatetime Calendar  Datetime

二、获取当月第n天


public static void main(String[] args) {
    //建议使用Calendar  可以设置年月日时分秒
    Calendar calendar = Calendar.getInstance();
    ////当月16
    calendar.set(Calendar.DAY_OF_MONTH, 16);
    System.out.println(calendar.getTime());

    //当月16
    DateTime now = DateTime.now();
    DateTime dateTime = now.withDayOfMonth(16);
    System.out.println(dateTime);

    //当月14
    LocalDateTime localDateTime = LocalDateTime.now();
    System.out.println(localDateTime.withDayOfMonth(14));

    //1月11
    System.out.println(localDateTime.withMonth(1).withDayOfMonth(11));
}

三、格式化为字符串


```
//使用SimpleDateFORMat
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(new Date()));

//使用Calendar
Calendar calendar = Calendar.getInstance();
System.out.println(String.format("%s年%s月%s日%s时%s分%s秒", calendar.get(Calendar.YEAR),
        calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH),
        calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND)));

LocalDateTime now = LocalDateTime.now();
String str = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(str);
```

四、加减时间(单位可以是秒,小时等)


public static void main(String[] args) {
    Date now = new Date();
    //加一小时
    long time = now.getTime() + (60 * 60 * 1000);
    System.out.println(new Date(time));

    
    //引入Hutool 加一小时
    System.out.println(DateUtil.offset(now, DateField.HOUR, 1));
    //减一小时
    System.out.println(DateUtil.offset(now, DateField.HOUR, -1));

    LocalDateTime localDateTime = LocalDateTime.now();
    System.out.println("加一小时" + localDateTime.plusHours(1));
    System.out.println("减一小时" + localDateTime.minusHours(1));

    DateTime dateTime = DateTime.now();
    System.out.println(dateTime.plusHours(1));
    System.out.println(dateTime.minusHours(1));
}

LocalDateTime和DateTime都自带增加和减少时间的方法

五、通过出生日期获取年龄


public static void main(String[] args) {
    //时间1990-12-05
    DateTime birthDay = DateTime.now().withYear(1990).withMonthOfYear(10).withDayOfMonth(23);
    System.out.println(birthDay);
    //获取相差得年 会进行月份和日期比较 如
    Years years = Years.yearsBetween(birthDay, new DateTime());
    System.out.println(years);
    System.out.println(years.getYears());
}

还可以使用年份相减,再比较月,日的方法得到生日

六、判断两个时间段是否覆盖


public static void main(String[] args) {
    DateTime now = DateTime.now();

    DateTime start1 = now;
    DateTime end1 = now.plusMinutes(1);

    DateTime start2 = now.plusSeconds(50);
    DateTime end2 = now.plusMinutes(2);

    Interval interval1 = new Interval(start1, end1);
    Interval interval2 = new Interval(start2, end2);

    System.out.println(interval1.overlaps(interval2));
    System.out.println(start1.getMillis() < end2.getMillis() && start2.getMillis() < end1.getMillis());
}

七、求两个时间间隔


public static void main(String[] args) {
    DateTime now = DateTime.now();
    //开始时间
    Date startTime = now.toDate();
    //结束时间
    Date endTime = now.plusHours(1).toDate();
    //1小时
    System.out.println("开始时间与结束时间的时间间隔:" + DateUtil.between(startTime, endTime, DateUnit.SECOND));

    long time = (endTime.getTime() - startTime.getTime()) / 1000;
    System.out.println(time);
}

八、UTC时间与北京时间转换


public static void main(String[] args) throws ParseException {
    Date now = new Date();
    Date utcDate = bj2UTC(now);
    //utc时间 
    System.out.println(utcDate);
    //北京时间
    System.out.println(utc2BJ(utcDate));

    DateTime dateTime = DateTime.now().withDayOfMonth(1).withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0);
    System.out.println(dateTime);
    System.out.println(bj2UTC(dateTime.toDate()));
}

public static Date bj2UTC(Date date) {
    if (date == null) {
        return null;
    }
    LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.of("-8"));
    return Date.from(localDateTime.atOffset(ZoneOffset.UTC).toInstant());
}

public static Date utc2BJ(Date date) {
    if (date == null) {
        return null;
    }
    LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.of("+8"));
    return Date.from(localDateTime.atOffset(ZoneOffset.UTC).toInstant());
}

北京时间=UTC+8

总结

到此这篇关于Java中常用时间的一些相关方法的文章就介绍到这了,更多相关Java常用时间方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java中常用时间的一些相关方法

本文链接: https://www.lsjlt.com/news/155513.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中常用时间的一些相关方法
    目录前言一、获取当前时间的方式二、获取当月第n天三、格式化为字符串四、加减时间(单位可以是秒,小时等)五、通过出生日期获取年龄六、判断两个时间段是否覆盖七、求两个时间间隔八、UTC时...
    99+
    2024-04-02
  • Java常用的时间相关转化有哪些
    这篇文章主要讲解了“Java常用的时间相关转化有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java常用的时间相关转化有哪些”吧!Java常用的时间相关转化下面代码的一些变量基本解释说...
    99+
    2023-06-20
  • 总结Java常用的时间相关转化
    Java常用的时间相关转化 下面代码的一些变量基本解释说明 datePattern:时间对应的字符串格式 date: 时间 dateStr:字符串格式的时间 指定的几个常量: p...
    99+
    2024-04-02
  • String类中的一些常用方法(JAVA)
    目录 字符串比较方法: boolean equals(Object anObject):  int compareTo(String s): int compareToIgnoreCase(String str) 字符串查找方法: char...
    99+
    2023-10-03
    java 开发语言
  • Javascript中字符串相关常用的使用方法有哪些
    小编给大家分享一下Javascript中字符串相关常用的使用方法有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JavaScript的内置功能之一就是字符串连接,如果用‘+'连...
    99+
    2024-04-02
  • java中optional的一些常用方法总结
    目录前言1. 创建Optional对象2. 获取Optional对象的值3. 判断Optional对象是否包含非空值4. 获取Optional对象中的值或默认值5. 获取Option...
    99+
    2023-05-14
    java中optional的用法 java optional类 java中optional
  • CSS中一些百分比相关调试的方法
    本篇文章为大家展示了CSS中一些百分比相关调试的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。很多css属性的取值都可以是百分比值。虽然形式上来说,百分比值都是...
    99+
    2024-04-02
  • 在Java中Collection的一些常用方法总结
    Java中Collection的常用方法 1、add() 向中添加元素 add(100) 自动装箱操作,实际上是放进去的一个对象, Integer n = new Integer(...
    99+
    2024-04-02
  • Java中Calendar类的一些常用方法小结
    目录原理简介获取时间时间计算总结原理简介 Java中提供了Calendar这个专门用于对日历进行操作的类,那么这个类有什么特殊的地方呢,首先我们来看Calendar的声明: pu...
    99+
    2024-04-02
  • PostgreSQL时间处理的一些常用方式总结
    目录1.获取当前时间2.date_part函数3.extract()函数4.日期格式化函数5.时间运算6.计算时间差总结1.获取当前时间 now()函数: select now(); current_time...
    99+
    2023-03-15
    pgsql时间处理 pg时间格式转换 pgsql时间相减
  • 关于Java 获取时间戳的方法
    Java有两个取时间戳的方法:System.currentTimeMillis() 和System.nanoTime(),它们的使用场景是有区别的,当前网上一些文章对于这两个方法的性...
    99+
    2024-04-02
  • Java开发时常用的相关Linux命令整理
    这篇文章主要讲解了“Java开发时常用的相关Linux命令整理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java开发时常用的相关Linux命令整理”吧!1.查找文件代码如下:find /...
    99+
    2023-06-12
  • C#常用日期时间方法有哪些
    本篇内容主要讲解“C#常用日期时间方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#常用日期时间方法有哪些”吧!一、月份英文简写DateTime dt = ...
    99+
    2023-06-30
  • C/C++时间相关的函数有哪些
    本篇内容主要讲解“C/C++时间相关的函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C/C++时间相关的函数有哪些”吧!首先介绍下C++标准中的chrono库chrono是一个关于时间...
    99+
    2023-06-16
  • Java时间工具类Date的常用处理方法
    目录前言Date 类构造方法常用方法前言 Date 类 Date 类表示系统特定的时间戳,可以精确到毫秒。Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。 构造方法...
    99+
    2024-04-02
  • JS时间戳转换为常用时间格式的方法有哪些
    这篇文章主要介绍“JS时间戳转换为常用时间格式的方法有哪些”,在日常操作中,相信很多人在JS时间戳转换为常用时间格式的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS时间戳转换为常用时间格式的方法...
    99+
    2023-07-06
  • MySql有哪些常用的查询时间段方法
    这篇文章主要介绍“MySql有哪些常用的查询时间段方法”,在日常操作中,相信很多人在MySql有哪些常用的查询时间段方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySq...
    99+
    2024-04-02
  • Linux下与文件相关的时间有哪些
    这篇文章将为大家详细讲解有关Linux下与文件相关的时间有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。与文件相关的几个时间:   1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件...
    99+
    2023-06-13
  • java中常用的方法有哪些
    Java中常用的方法有以下几种:1. String类的方法:常用的字符串操作方法,如substring()、indexOf...
    99+
    2023-09-22
    java
  • 常见的PHP时间格式转为时间戳的方法有哪些
    今天小编给大家分享一下常见的PHP时间格式转为时间戳的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。strtoti...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作