java日历类概述

b518def0e12643dcacf97397eca30079.jpg

 

Java中的`Calendar`类位于`java.util`包下,它是一个抽象类,用于表示和管理日期及时间。`Calendar`类并不是直接实例化的,而是通过其提供的静态方法来获取实例。通常情况下,当你尝试创建一个`Calendar`实例时,实际上你得到的是`GregorianCalendar`的实例,这是一种基于公历(即基督教历)的日历。

### 获取`Calendar`实例

要获取一个`Calendar`实例,你可以使用以下两种常见方法:

1. `Calendar.getInstance()`:这将返回一个`Calendar`实例,该实例代表了当前系统的日期和时间。
2. `new GregorianCalendar()`:这将创建一个新的`GregorianCalendar`实例,它同样代表了当前系统的日期和时间。

### `Calendar`类的常用方法

`Calendar`类提供了多种方法来获取和设置日期及时间的相关属性:

- `int get(int field)`:获取指定日历字段的值。
- `void set(int field, int value)`:将指定日历字段设置为给定的值。
- `void add(int field, int amount)`:在指定的日历字段上加或减去一定的时间量。
- `Date getTime()`:返回一个表示此`Calendar`时间值的`Date`对象。
- `long getTimeInMillis()`:返回此`Calendar`的时间值,以毫秒为单位。
- `TimeZone getTimeZone()`:获取此`Calendar`使用的时区。

### 注意事项

在使用`Calendar`类时,需要注意的是,日历字段中的月份是从0开始的,这意味着如果你想要获取实际的月份,你需要在获取到的值上加1。此外,`Calendar`类中的`DAY_OF_WEEK`字段会受到地区设置的影响,因为它表示一周中的第几天,而不是一个特定的日子。

### 示例代码

以下是一些使用`Calendar`类的简单示例:

```java
import java.util.Calendar;

public class CalendarExample {
    public static void main(String[] args) {
        // 获取当前日历实例
        Calendar calendar = Calendar.getInstance();
        
        // 获取当前年份
        int year = calendar.get(Calendar.YEAR);
        
        // 获取当前月份,注意月份是从0开始的
        int month = calendar.get(Calendar.MONTH);
        
        // 获取当前日
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        
        // 获取当前小时(12小时制)
        int hour = calendar.get(Calendar.HOUR);
        
        // 获取当前分钟
        int minute = calendar.get(Calendar.MINUTE);
        
        // 获取当前秒
        int second = calendar.get(Calendar.SECOND);
        
        // 输出当前日期和时间
        System.out.println("当前年份: " + year);
        System.out.println("当前月份: " + (month + 1)); // 月份需要加1
        System.out.println("当前日: " + day);
        System.out.println("当前小时: " + hour);
        System.out.println("当前分钟: " + minute);
        System.out.println("当前秒: " + second);
    }
}
```

在这个示例中,我们创建了一个`Calendar`实例,并通过`get`方法获取了当前的年、月、日、小时、分钟和秒。然后我们将这些值打印出来,以便于观察。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

The 2023 ICPC Asia Hefei Regional Contest

目录 B. Queue Sorting 应该还会再补几题 B. Queue Sorting 题解: Dilworth定理: 【偏序关系与偏序集、Hasse图、极大元、极小元、全序关系、最大元、良序集/三小时讲不完离散数学之集合论/考研复试/期末复习考前冲刺/近世代数/抽象代数】https://www.bilibili.c…

C++奇迹之旅:string类对象的容量操作

文章目录 📝 string类的常用接口🌉 string类对象的容量操作🌠size🌠length🌠capacity🌠clear🌠empty🌠reserve🌉resize 🚩总结 📝 string类的常用…

JavaScript进阶2

自定义对象 let 自定义对象名{ 属性名:属性值, 函数名称:function(形参列表){} }; 注意&#xff1a;在自定义对象中使用当前自定义对象的属性或者函数&#xff0c;需要使用this <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-…

PMP有效期三年后,还有必要续证吗?

通常情况下是必要的&#xff0c;续证条件是在3年内累积60个PDU和支付150美元。如果到期后没有进行续证&#xff0c;但仍希望保持证书&#xff0c;就需要重新参加PMP考试。重新参加考试的费用包括3900元的报名费和数千元的培训费。因此&#xff0c;与重新考试相比&#xff0c;续…

面向过程和面向对象

面向过程和面向对象的概念及区别 面向过程&#xff1a; 概念&#xff1a; 面向过程是一种以事件为中心的编程范式。它按照功能将程序结构划分为若干个基本模块&#xff0c;形成树状结构。每个模块内部一般由顺序、选择和循环三种基本结构组成。 特点&#xff1a; 程序流程在编…

实现ApplicationContextAware接口完成springboot项目的初始化处理工作

需求&#xff1a;在项目启动的时候&#xff0c;从数据库里取出所有敏感词&#xff0c;放到map里面。 ApplicationContextAware 的实现类的setApplicationContext方法可以获取到IOC容器&#xff0c;虽然这个案例里面并没有什么用&#xff0c;但是项目初始化一般实现ApplicationC…

C++中rand()函数和随机数种子

C中rand()函数的用法 rand() % (b-a1) a ; 就表示 a~b 之间的一个随机整数。 表达式 int num rand() % 100 1; 产生的是1到100之间的随机数&#xff0c;而不是1到99。 rand() % 100 会产生一个从0到99的随机数&#xff0c;因为 % 是取模运算符&#xff0c;它会给出 rand() …

【算法刷题day49】Leetcode:123.买卖股票的最佳时机III、188. 买卖股票的最佳时机 IV

文章目录 Leetcode 123.买卖股票的最佳时机III解题思路代码总结 Leetcode 188. 买卖股票的最佳时机 IV解题思路代码总结 草稿图网站 java的Deque Leetcode 123.买卖股票的最佳时机III 题目&#xff1a;123.买卖股票的最佳时机III 解析&#xff1a;代码随想录解析 解题思路 定…

【AI】人工智能的应用及挑战

AI是人工智能&#xff08;Artificial Intelligence&#xff09;的缩写&#xff0c;它是一种模拟人类智能的技术和系统&#xff0c;旨在使计算机能够模仿人类的思维、学习、推理、理解自然语言&#xff0c;并能执行各种任务。AI利用大数据、机器学习、模式识别、自然语言处理等技…

通过 Java 操作 redis -- 基本通用命令

目录 使用 String 类型的 get 和 set 方法 使用通用命令 exists &#xff0c;del 使用通用命令 keys 使用通用命令 expire,ttl 使用通用命令 type 要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务器&#xff0c;推荐看通过 Java 操作 redis -- 连接 redis 关…

思维导图在线怎么制作?推荐这些工具

思维导图在线怎么制作&#xff1f;在如今的快节奏时代中&#xff0c;思维导图作为一种高效的信息组织与思考工具&#xff0c;受到了广泛的应用。在线制作思维导图成打破了时间和空间的限制&#xff0c;使得团队协作变得更加便捷&#xff0c;个人创作也更为灵活。以下是四款备受…

建模电梯的状态图和学生选课ER图

第一题 尝试建模电梯的状态图&#xff08;选做&#xff09; 第二题 学校规定&#xff1a; 一个学生可选修多门课&#xff0c;一门课有若于学生选修。 一个教师可讲授多门课&#xff0c;一门课只有一个教师讲授。 一个学生选修一门课&#xff0c;仅有一个成绩。 学生的属性有学号…

JS中的arguments是什么?

arguments是当我们不确定有多少个参数传递时&#xff0c;就可以使用argument来获取。在js中&#xff0c;arguments实际上就是当前函数的一个内置对象&#xff0c;存储了我们传递的所有实参。arguents的展示形式就是一个伪数组&#xff0c;所以我们可以对它进行遍历。 我们先来…

机器学习-监督学习

监督学习是机器学习和人工智能中的一个重要分支&#xff0c;它涉及使用已标记的数据集来训练算法&#xff0c;以便对数据进行分类或准确预测结果。监督学习的核心在于通过输入数据&#xff08;特征&#xff09;和输出数据&#xff08;标签或类别&#xff09;之间的关系&#xf…

基于Python的飞机大战游戏

学习目标 了解 飞机大战游戏的规则 理解 面向对象思想,会独立设计游戏的类与模块 掌握 pygame模块的使用 1.1 游戏介绍 飞机大战是一款由腾讯公司微信团队推出的软件内置的小游戏,这款游戏画面简洁有趣,规则简单易懂,操作简便易上手,在移动应用兴起之初曾风靡一时。 1.1.…

使用YOLOv8 YOLOv5 进行距离测量,速度测量。使用目标检测进行测距,测速是如何实现的呢?

文章大纲 简介差帧算法(Frame Difference Algorithm)目标检测测距使用YOLOv8 进行测距代码样例代码原理目标检测测速使用YOLOv8 进行测速代码原理参考文献综述简介 导读 在精确检测车速车距的方案中,视觉方案是非常具有挑战性的,但由于没有昂贵的距离传感器而大幅降低成本…

oracle 9i 行头带有scn的表

oracle 9i 行头带有scn的表 conn scott/tiger drop table t1; drop table t2; create table t1(c varchar2(5)); create table t2(c varchar2(6)) ROWDEPENDENCIES; --t2表每行都有scn,会增加六个字节的开销 alter table t1 pctfree 0; alter table t2 pctfree 0; insert in…

WordPress原创插件:超链接点击访问统计

WordPress原创插件&#xff1a;超链接点击访问统计 https://download.csdn.net/download/huayula/89296775

【Ajax零基础教程】-----第四课 简单实现

一、XMLHttpRequest对象 通过XMLHttpRequest对象来向服务器发送异步请求&#xff0c;从服务器获取数据。然后用JavaScript来操作DOM而更新页面。XMLHttpRequest是ajax的核心机制&#xff0c;它是IE5中首先引入的&#xff0c;是一种支持异步请求的技术。 简单的说&#xff0c;也…

面试官:请把ArrayList与LinkedList、Vector、Array做个比较

文章目录 ArrayList 和 LinkedList 有什么区别&#xff1f;Vector 和 ArrayList 有什么区别Array 和 ArrayList 一样吗&#xff1f;如何实现数组和 List 转换&#xff1f; ArrayList 和 LinkedList 有什么区别&#xff1f; ArrayList和LinkedList都是Java中常用的集合类 Array…