java常用时间日期函数

embedded/2024/9/24 12:29:54/

日期格式化方式

java">SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf= new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
//yyyy-MM-dd对于年份取值取得是当天所在的这个年份//YYYY-MM-dd它所取的年份是本周所在的这个年份//HH 表示使用24小时制(也称为军用时间制)来表示小时。它的范围是从00到23。
//例如,"HH:mm:ss" 可以表示 "15:30:45",其中15代表下午3点。//hh 表示使用12小时制来表示小时,即上午和下午。它的范围是从01到12,其中01代表上午1点,12代表下午12点。这种格式通常用于时钟时间,而不是计时时间。
//例如,"hh:mm:ss a" 可以表示 "03:30:45 PM",其中"03"代表下午3点。

获取当前时间

1.根据Date获取

java">java.util.Date day=new Date();SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(sdf.format(day));

2.根据System.currentTimeMillis()获取

java">
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(System.currentTimeMillis()));

3.根据System.currentTimeMillis()获取

java">		Calendar calendar = Calendar.getInstance();int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH);int date = calendar.get(Calendar.DATE);int hour = calendar.get(Calendar.HOUR_OF_DAY);int minute = calendar.get(Calendar.MINUTE);int second = calendar.get(Calendar.SECOND);System.out.println(year + "年" + month + "月" + date + "日" + hour + "时" + minute + "分" + second + "秒");

根据当前日期计算之前(之后)日期

1.通过当前时间计算

java">//查询前一天的时间 一秒是一千毫秒,从毫秒开始计算
SimpleDateFormat formatTotal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date lastTwo = new Date(System.currentTimeMillis()-24*60*60*1000);String endTime = formatTotal.format(lastTwo);

2.通过Calendar 计算()

java">//向前一天
SimpleDateFormat formatTotal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) - 1);String endTime = formatTotal.format(calendar.getTime());
java">		Date data = new Date();Calendar c = Calendar.getInstance();c.setTime(data);c.add(Calendar.DAY_OF_MONTH, -1);data = c.getTime();System.out.println(data.toLocaleString());

http://www.ppmy.cn/embedded/11097.html

相关文章

前端解析URL的两种方式

方法一&#xff1a;利用 splice 分割 循环依次取出 方法一&#xff1a; function queryURLparams(url) {let obj {}if (url.indexOf(?) < 0) return objlet arr url.split(?)url arr[1]let array url.split(&)for (let i 0; i < array.length; i) {let arr2…

C++异常和断言

C异常 异常的理念看似有前途&#xff0c;但实际的使用效果并不好。编程社区达成的一致意见是&#xff0c;最好不要使用这项功能。C98引入异常规范&#xff0c;C11已弃用。 例如&#xff1a;我们输入1时抛出异常。 #include <iostream> #include <vector> #includ…

算法训练营day15

一、层序遍历 参考链接7.2 二叉树遍历 - Hello 算法 (hello-algo.com) 层序遍历本质上属于广度优先遍历&#xff0c;也称广度优先搜索&#xff0c; BFS通常借助队列的先入先出的特性实现 参考链接102. 二叉树的层序遍历 - 力扣&#xff08;LeetCode&#xff09; 像这种较为…

LeetCode---128双周赛

题目列表 3110. 字符串的分数 3111. 覆盖所有点的最少矩形数目 3112. 访问消失节点的最少时间 3113. 边界元素是最大值的子数组数目 一、字符串的分数 按照题目要求&#xff0c;直接模拟遍历即可&#xff0c;代码如下 class Solution { public:int scoreOfString(string …

LPA算法简介

1. 背景 标签传播算法(Label Propagation Algorithm)是一种基于图的半监督学习方法&#xff0c;其基本思路是用已标记节点的标签信息去预测未标记节点的标签信息。 2. 算法流程 1. 为每个节点随机的指定一个自己特有的标签&#xff1b; 2. 逐轮刷新所有节点的标签&#xff0…

复现SMO算法:理解SVM、SMO和高斯核【一、了解相关概念】

任务要求 复现带有高斯核的SMO算法。在LIBSVM中找到一个包含超过1000条数据的数据集。在保持超参数一致的情况下&#xff0c;确保自己实现的模型的精度与LIBSVM相比&#xff0c;相差不超过1%。 复现SMO算法&#xff1a;理解SVM、SMO和高斯核 在这篇博客中&#xff0c;我将深…

Java基础:单例模式,Spring源码中有哪些单例模式

单例模式是一种常用的软件设计模式&#xff0c;其目的是确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来获取这个唯一实例。在Java中&#xff0c;实现单例模式通常需要遵循以下几个关键原则&#xff1a; 私有化构造器&#xff1a;将类的构造器声明为private&#xf…

完美解决多种情况下的 java.lang.NullPointerException 的异常

文章目录 1. 复现错误2. 分析问题3. 解决问题1. 复现错误 在工作中,经常会遇见java.lang.NullPointerException的异常,这种异常千奇百怪,但明确一点的是:它是空指针异常,也称之为NPE异常,如下代码所示: @Setter @Getter @Accessors(chain = true) public class Student…