Java日期和时间学习记录2

1、Java的LocalDate类当前时间往未来几天和过去时间几天

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        // 获取当前日期
        LocalDate currentDate = LocalDate.now();
        System.out.println("当前日期:" + currentDate);

        // 计算未来日期
        int daysToAdd = 3; // 要添加的天数
        LocalDate futureDate = currentDate.plusDays(daysToAdd);
        System.out.println("未来 " + daysToAdd + " 天的日期:" + futureDate);

        // 计算过去日期
        int daysToSubtract = 5; // 要减去的天数
        LocalDate pastDate = currentDate.minusDays(daysToSubtract);
        System.out.println("过去 " + daysToSubtract + " 天的日期:" + pastDate);
    }
}

2、Java的LocalDateTime类获取某个时间往未来几天和过去时间几天

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        // 获取指定时间
        // 年、月、日、小时、分钟和秒
        LocalDateTime specificDateTime = LocalDateTime.of(2023, 12, 15, 12, 12, 12);
        System.out.println("指定时间:" + (""+specificDateTime).replace("T"," "));


        // 计算未来日期
        long daysToAdd = 3; // 要添加的天数
        LocalDateTime futureDateTime = specificDateTime.plus(daysToAdd, ChronoUnit.DAYS);
        System.out.println("未来 " + daysToAdd + " 天的日期:" + futureDateTime.toLocalDate());

        // 计算过去日期
        long daysToSubtract = 5; // 要减去的天数
        LocalDateTime pastDateTime = specificDateTime.minus(daysToSubtract, ChronoUnit.DAYS);
        System.out.println("过去 " + daysToSubtract + " 天的日期:" + pastDateTime.toLocalDate());
    }
}

注意:在计算日期时,我们将LocalDateTime对象转换为LocalDate对象以仅保留日期部分。这是因为LocalDateTime包含日期和时间信息。

3、Java的Clander获取某个时间/当前时间往未来几天和过去时间几天


import java.util.Calendar;

public class Main {
    public static void main(String[] args) throws ParseException {
        // 获取当前时间
//        Calendar calendar = Calendar.getInstance();
//        System.out.println("当前时间:" + calendar.getTime());

        // 指定时间
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date parse = simpleDateFormat.parse("2023-12-12 12:12:12");
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(parse);
        System.out.println("指定时间:" + calendar.getTime());

        // 计算未来日期
        int daysToAdd = 3; // 要添加的天数
        calendar.add(Calendar.DAY_OF_MONTH, daysToAdd);
        System.out.println("未来 " + daysToAdd + " 天的日期:" + calendar.getTime());

        // 计算过去日期
        int daysToSubtract = 5; // 要减去的天数
        calendar.add(Calendar.DAY_OF_MONTH, -daysToSubtract);
        System.out.println("过去 " + daysToSubtract + " 天的日期:" + calendar.getTime());
    }
}

4、LocalDate和Date互转

import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // LocalDate 转 Date
        LocalDate localDate = LocalDate.now();
        Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("LocalDate: " + localDate);
        System.out.println("Date: " + date);

        // Date 转 LocalDate
        Date now = new Date();
        LocalDate localDate1 = now.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        System.out.println("Date: " + now);
        System.out.println("LocalDate: " + localDate1);
    }
}

注意:LocalDate表示日期,而Date表示时间戳。在进行转换时,需要考虑所涉及的时区。目前使用系统默认时区(ZoneId.systemDefault()),使用时可以根据需求使用其他时区

5、LocalDateTime和Date互转

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // LocalDateTime 转 Date
        LocalDateTime localDateTime = LocalDateTime.now();
        Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("LocalDateTime: " + localDateTime);
        System.out.println("Date: " + date);

        // Date 转 LocalDateTime
        Date now = new Date();
        LocalDateTime localDateTime1 = LocalDateTime.ofInstant(now.toInstant(), ZoneId.systemDefault());
        System.out.println("Date: " + now);
        System.out.println("LocalDateTime: " + localDateTime1);
    }
}

注意:LocalDateTime表示日期和时间,而Date仅表示时间戳。在进行转换时,需要考虑所涉及的时区。目前使用系统默认时区(ZoneId.systemDefault()),使用时可以根据需求使用其他时区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/345112.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web09--jQuery基础

1、jQuery概述 1.1 什么是jQuery jQuery是一款优秀的JavaScript的轻量级框架之一,封装了DOM操作、事件绑定、ajax等功能。特别值得一提的是基于jQuery平台的插件非常丰富,大多数前端业务场景都有其封装好的工具可直接使用。 jQuery下载和版本介绍 官…

HTTP动态代理的原理及其对网络性能的影响

HTTP动态代理是一种通过代理服务器来转发HTTP请求和响应数据的网络技术,它可以优化网络性能、提高网络安全性,并解决跨域请求的问题。本文将详细介绍HTTP动态代理的原理及其对网络性能的影响。 一、HTTP动态代理的原理 HTTP动态代理的基本原理是在客户…

什么是交换机端口镜像?

热门IT课程【视频教程】-华为/思科/红帽/oraclehttps://xmws-it.blog.csdn.net/article/details/134398330 镜像可以在不影响交换机/路由器等网络设备报文正常处理流程的情况下,将指定源的报文复制一份到目的端口。目的端口与监控设备直接或间接相连,监控…

山体滑坡监测预警系统-gnss位移监测站

GNSS山体滑坡位移监测站是一种利用全球导航卫星系统(GNSS)进行山体滑坡位移监测的设备。它通过接收和处理GNSS卫星信号,能够实时监测山体的位移变化,并将数据传输到后端系统进行分析和处理。 GNSS山体滑坡位移监测站具有高精度、…

文件上传技术总结

语言可解析的后缀 (前提:在Apache httpd.conf 配置文件中有特殊语言的配置 AddHandler application/x-httpd-php .php 搭配大小写、双重、空格来进行 其中: phtml、pht、php3、php4和php5都是Apache和php认可的php程序的文件后缀 常见的…

云安全包括哪些方面?

随着云计算的快速发展,云安全问题也日益受到关注。云安全不仅涉及到个人数据安全,还涉及到国家安全、社会稳定等方面。因此,了解云安全包括哪些方面对于保护个人隐私和企业数据安全具有重要意义。本文将从多个角度探讨云安全所涉及的方面。 ​…

ASCB1系列一体式智能微型断路器 智慧空开-安科瑞 蒋静

1. 概述 ASCB1系列智能微型断路器(一体式)(以下简称智能微型断路器)应用于户内建筑物及类似场所的工业、商业、民用建筑及基础设施等领域低压终端配电网络。智能微型断路器对用电线路的关键电气参数,如电压、电流、功率、温度、漏电、能耗等…

Ask for Power Apps 消失了?

Ask for Power Apps 消失了? 背景替换定义一个接收数组的参数1.我们新建一个Text接收参数取名为**Arrlist**.定义一个参数类型是Array 背景 今天才发现,我在flow中想向power apps索要一个参数,但是之前的Ask for Power Apps 这个触发器怎么也找不到了。…

k8s---pod的水平自动伸缩HPA

HPA:Horizontal Pod Autoscaling是pod的水平自动伸缩。是k8s自带的模块 pod占用CPU的比率到达一定的阈值会触发伸缩机制。 replication controller:副本控制器。控制pod的副本数 deployment controller:节点控制器。部署pod hpa控制副本的…

【C++】初步认识基于C的优化

C祖师爷在使用C语言时感觉到了不方便的一些点,于是一步一步改进优化,最后形成了C 本文将盘点一下基于C的语法优化 目录 命名空间:命名空间定义:命名空间使用: C输入&输出:cout:endl&#…

spring中循环依赖问题、Servlet 的过滤器与 Spring 拦截器区别

spring中的循环依赖问题 当A类中关联B,B类中关联A class A {B b; } class B {A a; } 正常java代码中new A时,b为null;new B时,a为null; 但是在spring中,由于对象是由spring容器管理的,当创建…

C语言——联合和枚举

目录 一、联合体 1.1 联合体类型的声明 1.2 联合体的特点 1.3 相同成员的结构体和联合体对比 1.4 联合体大小的计算 1.5 联合的⼀个练习 二、枚举类型 2.1 枚举类型的声明 2.2 枚举类型的优点 2.3 枚举类型的使用 一、联合体 1.1 联合体类型的声明 像结构体⼀样…

【腾讯云服务器】幻兽帕鲁私服服务器部署保姆级教程

在帕鲁的世界,你可以选择与神奇的生物「帕鲁」一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。帕鲁可以进行战斗、繁殖、协助你做农活,也可以为你在工厂工作。你也可以将它们进行售卖,或分解后食用。 想要部署属于自…

C++ STL之stack的使用及模拟实现

文章目录 1. 介绍2. stack的使用3. 栈的模拟实现 1. 介绍 英文解释: 也就是说: stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。 stack是作为容器适配器被实现…

8 种网络协议

什么是网络协议? 网络协议就是计算机之间沟通的语言,为了有效地交流,计算机之间需要一种共同的规则或协议,就像我们和老外沟通之前,要先商量好用哪种语言,要么大家都说中文,要么大家都说英语&a…

Elasticsearch分布式一致性原理剖析(三)-Data篇

本文首发于云栖社区(Elasticsearch分布式一致性原理剖析(三)-Data篇-博客-云栖社区-阿里云),由原作者转载。 前言 “Elasticsearch分布式一致性原理剖析”系列将会对Elasticsearch的分布式一致性原理进行详细的剖析,介绍其实现方式、原理以及其存在的问…

安卓移动设备使用DS file文件管理工具远程访问本地群晖NAS文件

文章目录 1. 群晖安装Cpolar2. 创建TCP公网地址3. 远程访问群晖文件4. 固定TCP公网地址5. 固定TCP地址连接6. 结语 DS file 是一个由群晖公司开发的文件管理应用程序,主要用于浏览、访问和管理存储在群晖NAS(网络附加存储)中的文件。这个应用…

ubuntu下使用Live555搭建流媒体服务器

本教程实验环境在64bit ubuntu Live555基本介绍,RTSP,以及服务端客户端的编程参考这篇文章:实时流媒体传输开源库——Live555 拉取Live555源码到本地文件夹 wget http://www.live555.com/liveMedia/public/live.2023.11.30.tar.gz解压缩 …

NIC400简介

1. 简介 CoreLink NIC-400(Network Inter Connect)网络互连是高度可配置的,能够创建一个完整的高性能、优化和符合AMBA标准的网络基础设施。CoreLink NIC-400网络互连有许多可能的配置。它们的范围从单一的桥接组件,例如AHB到AXI协…

【MIdjourney】五个特殊物体关键词

1.碳酸(Carbonate) 这一词语的本意是指包含碳(C)、氧(O)和氢(H)元素的化合物。而在MIdjourney中添加该词汇会使得生成的图片具有水滴效果且富有动态感。 2.灯丝(Filament) Filament效果可能包括更逼真的…