当前位置: 首页 > news >正文

java——date时间类型操作

目录

1.date类型使用

2.获取想要的自定义时间点

3.date类型与String类型转换

4.date时间先后比较


1.date类型使用

在java中,日期时间用java.util.Date类来表示,调用默认构造器Date(),将会创建一个当前系统时间的Date对象,时间精确到毫秒:

Date date = new Date();

2.获取想要的自定义时间点

Date类型初始化时可以传入参数获取对应的年月日(注:该方式已被弃用,所以不建议使用)

我们想要输出一个时间常用Calendar时间操作类,set对应的年月日时分秒:

    public static Date getStartOfDay(Date time) {Calendar calendar = Calendar.getInstance();calendar.setTime(time);calendar.set(Calendar.HOUR_OF_DAY, 12);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}

上述代码可以获得当天的12点0分0秒。

我们还可以使用Calendar进行时间加减操作:

public class test {public static void main(String[] args) throws ParseException {System.out.println(getStartOfDay(new Date()));}public static Date getStartOfDay(Date time) {Calendar calendar = Calendar.getInstance();calendar.setTime(time);calendar.set(Calendar.HOUR_OF_DAY, 12);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);//加10分钟calendar.add(Calendar.MINUTE, 10);//减30秒calendar.add(Calendar.SECOND, -30);return calendar.getTime();}
}

 

3.date类型与String类型转换

date类型可以使用SimpleDateFormat类型实现与String类型以定义好的日期格式互转:

(1)String转date:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date1 = sdf.parse("2023-03-30 12:00:00");
Date date2 = sdf.parse("2023-03-30 12:00:01");

(2)date转String:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date = sdf.format(new Date());

此处有一个细节,时间格式中 yyyy-MM-dd HH:mm:ss 代表24小时制;yyyy-MM-dd hh:mm:ss 代表12小时制。(小时H和h的区别)

4.date时间先后比较

date类型比较时间先后一般可以用两种方式进行,对应两种格式:

(2)date格式下使用before和after函数:

        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");Date date1 = sdf.parse("2023-03-30 12:00:00");Date date2 = sdf.parse("2023-03-30 12:00:01");System.out.println(date1.before(date2));System.out.println(date1.after(date2));

(2)String格式下使用CompareTo函数:

public class test {public static void main(String[] args) throws ParseException {SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//系统当时时间String date1 = sdf.format(new Date());//系统当天12点String date2 = sdf.format(getStartOfDay(new Date()));System.out.println("时间点1:"+date1);System.out.println("时间点2:"+date2);//比较时间先后System.out.println(date1.compareTo(date2));}//获取当天12点public static Date getStartOfDay(Date time) {Calendar calendar = Calendar.getInstance();calendar.setTime(time);calendar.set(Calendar.HOUR_OF_DAY, 12);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}
}

date1 时间点1晚于date2时间点2,所以输出的是大于0;小于0则是date1 时间点1早于date2时间点2;等于0则是两个时间点相同。

此处注意比较的两个时间需都是24小时制,否则会出现24小时制的12点晚于12小时制下午4点的比较错误的情况。

相关文章:

java——date时间类型操作

目录 1.date类型使用 2.获取想要的自定义时间点 3.date类型与String类型转换 4.date时间先后比较 1.date类型使用 在java中,日期时间用java.util.Date类来表示,调用默认构造器Date(),将会创建一个当前系统时间的Date对象,时间…...

应急响应——IDSIPSmsf流量后门分析

目录 0x01 网页篡改与后门攻击防范应对指南 0x02 主要需了解:日志存储,Webshel检测,分析思路等...

项目二:电子骰子

项目二:电子骰子 文章目录项目二:电子骰子一、导入(5分钟)学习目的二、新授(65分钟)1.预展示结果(5分钟)2.本节课所用的软硬件(5分钟)3.硬件介绍(1分钟)4.图形化块介绍(1分钟)5.单个模块的简单使用(1分钟)6.电子骰子编程逻辑分析(25分钟)7.电…...

D. Genius‘s Gambit(很多情况)

Problem - D - Codeforces 已知三个整数a b k。求两个二进制整数z和y ( > y)满足1. y都由a个0和b个1组成;2. X - y(也是二进制形式)恰好有k个1。z和y不允许使用前导零。输入唯一的一行包含三个整数a, b和k (0 <a;1 <b;0<k < ab< 2- 105) -结果中0、1和1的个数…...

jsp824汽车维修保养管理系统javaEE+mysql

主要实现 1&#xff0e;车主信息管理&#xff1a;管理员发布车主信息后&#xff0c;普通用户查询到该车主信息&#xff0c;用户选择某个车主信息&#xff0c;查询车主信息&#xff0c;管理员审核添加&#xff0c;或删除车主信息。 2&#xff0e;保养信息管理&#xff1a;管理员…...

Linux下C/C++ redis协议(RESP)解析

Redis是一个开源的内存键值数据存储&#xff0c;最常用作主数据库、缓存、消息代理和队列。Redis提供了亚毫秒的响应时间&#xff0c;在游戏、金融科技、广告技术、社交媒体、医疗保健和物联网等行业实现了快速而强大的实时应用。 Redis连续五年成为开发人员最喜爱的数据库。开…...

IDEA 性能优化设置

在我们日常使用IDEA进行开发时&#xff0c;可能会遇到许多卡顿的瞬间&#xff0c;明明我们的机器配置也不低啊&#xff1f;为什么就会一直卡顿呢&#xff1f; “ 原来这是因为IDEA软件在我们安装的时候就设置了默认的内存使用上限&#xff08;通常很小&#xff09;&#xff0c;…...

蓝桥杯刷题冲刺 | 倒计时4天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;倒计时4天&#xff0c;冲冲冲&#xff01;&#xff01;&#xff01;&#x1f43e; 文章目录1.整除序列2.走方格3.前缀和4.差分矩阵5.翻硬币1.整除序列 题目 链接&#xff1a; 2065. 整除序列 - Ac…...

阿里测试7年经验,从功能测试到自动化测试,我整理的超全学习指南

做测试七年多&#xff0c;有不少人问过我下面问题&#xff1a; 现在的手工测试真的不行了吗&#xff1f;测试工程师&#xff0c;三年多快四年的经验&#xff0c;入门自动化测试需要多久&#xff1f;自学自动化测试到底需要学哪些东西&#xff1f;不得不说&#xff0c;随着行业的…...

jar加密后当作SDK给别人使用(可maven引入)

1、不加密jar&#xff0c;进行提取公共代码&#xff0c;打成jar包&#xff0c;并用maven引入 参考文章&#xff1a;以maven添加依赖的方式导入自己写的项目。springboot 提取公共类&#xff0c;多服务共用 2、加密jar&#xff0c;使用ClassFinal进行jar的加密 官网地址:Clas…...

【编程基础】032、C语言中结构体在解题中的应用

文章目录C语言中结构体在解题中的应用1、结构体之时间设计2、结构体之成绩记录3、结构体之成绩统计2C语言中结构体在解题中的应用 1、结构体之时间设计 题目描述 定义一个结构体变量&#xff08;包括年、月、日&#xff09;。计算该日在本年中是第几天&#xff0c;注意闰年问…...

Kotlin 是后端开发的未来

Kotlin 是后端开发的未来 严格类型、命名参数、多范式语言 您今天遇到的每个后端开发人员都会说他们使用 JavaScript、Python、PHP 或 Ruby 编写代码。近年来&#xff0c;您会遇到一小部分人转而使用 Kotlin 作为他们创建 Web 服务器的语言选择。由于我在学习Ktor&#xff0c;所…...

Vue3学习笔记(9.1)

Vue.js style&#xff08;内联样式&#xff09; 我们可以在v-bind:style直接设置样式&#xff0c;可以简写:style <!--* Author: RealRoad1083425287qq.com* Date: 2023-04-02 19:41:53* LastEditors: Mei* LastEditTime: 2023-04-03 15:41:44* FilePath: \vscode\Vue3_li…...

MinIO 环境变量泄漏漏洞(CVE-2023-28432)

漏洞描述 MinIO 是一个开源的对象存储服务器。 MinIO RELEASE.2023-03-20T20-16-18Z之前版本中的 bootstrap-peer-server.go#VerifyHandler 方法存在敏感信息泄漏漏洞&#xff0c;攻击者可向集群部署中的 MinIO 服务器的 /minio/bootstrap/v1/verify API发送POST请求&#xf…...

数组转字符串、字符串转数组的方法

一.数组转字符串方法 方法转化后类型用法特点toString()string将数组转换成了一个字符串默认用","隔开toLocaleString()string把数组转换成本地约定的字符串默认用","隔开join()string将数组元素连接起来以构建一个字符串 默认用","隔开 可以随…...

local fault和remote fault

1、什么是 local fault和remote fault? 在IEEE802.3协议中&#xff0c;local fault和remote fault是一种错误序列&#xff0c;在PCS层定义。 MAC RX侧收到local fault时&#xff0c;意味本地链路没有正常建立链路&#xff0c;MAC RX侧收到remote fault时&#xff0c;意味对端没…...

二叉树搜索树 AVL树

文章目录1. 二叉搜索树1.1 二叉搜索树概念1.2 二叉搜索树操作1.3 二叉搜索树的实现1.4 二叉搜索树的应用1.5 二叉搜索树的性能分析2. AVL 树2.1 AVL树的概念2.2 AVL树节点的定义2.3 AVL树的插入2.4 AVL树的旋转2.5 AVL树的验证2.7 AVL树的性能3. 具体代码实现区3.1 二叉搜索树的…...

nginx配置代理多个前端资源

log: 背景 两套不同的前端使用同一个后端服务&#xff0c;前端使用的Nginx代理的dist包 前端 vueelementui 后端 Pythonflask Nginx代理设置 1.进入Linux机器&#xff0c;whereis nginx 查看Nginx安装位置 2.进到Nginx配置文件下 3.vim nginx.conf 通过多个server管理…...

SuperMap iServer下载安装,启用服务,以及发布服务

supermap 是一套专注于 GIS 产品开发的全过程解决方案&#xff0c;主要包括桌面 GIS 、云 GIS 和 Web SDK&#xff0c;这里主要介绍如何使用它的云服务器 iServer 进行三维地图及数据服务的发布&#xff0c;iServer 里面还可进行负载均衡、集群等高级配置&#xff0c;有兴趣的可…...

vxe-table简单使用 vue vxe-table vue整合vxe-table vue2 vxe-table 简单使用

vxe-table简单使用 vue vxe-table vue整合vxe-table vue2 vxe-table 简单使用安装vxe-table引用使用安装vxe-table vue2稳定版本 vue3稳定版本 npm install xe-utils vxe-tablelegacy安装 vxe-table 依赖的插件 npm i xe-utils引用 我这边是全局引入&#xff0c;可以根据自…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...