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类的常用…

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

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

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

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

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

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

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

第一题 尝试建模电梯的状态图(选做) 第二题 学校规定: 一个学生可选修多门课,一门课有若于学生选修。 一个教师可讲授多门课,一门课只有一个教师讲授。 一个学生选修一门课,仅有一个成绩。 学生的属性有学号…

JS中的arguments是什么?

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

基于Python的飞机大战游戏

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

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原创插件:超链接点击访问统计 https://download.csdn.net/download/huayula/89296775

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

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

第四百九十八回

文章目录 1. 概念介绍2. 使用方法2.1 固定样式2.2 自定义样式 3. 示例代码4. 内容总结 我们在上一章回中介绍了"GetMaterialApp组件"相关的内容,本章回中将介绍使用get显示SnackBar.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在介…

ppt通过修改幻灯片母版修改页脚

修改幻灯片母版 幻灯片母版就可以了,就可以修改页脚

1290.二进制链表转整数

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1: 输入:head [1,0,1] 输出:5 解释:二进制数 (101) 转化为十进制…

即插即用篇 | YOLOv8 引入多光谱通道注意力 | 频率领域中的通道注意力网络

本改进已集成到 YOLOv8-Magic 框架。 注意力机制,尤其是通道注意力,在计算机视觉领域取得了巨大成功。许多工作聚焦于如何设计高效的通道注意力机制,同时忽略了一个基本问题,即通道注意力机制使用标量来表示通道,这很困难,因为会造成大量信息的丢失。在这项工作中,我们从…

05-10 周五 FastBuild 容器启动引起超时问题定位与解决

05-10 周五 FastBuild 容器启动超时问题 时间版本修改人描述2024年5月11日16:45:33V0.1宋全恒新建文档2024年5月11日22:37:21V1.0宋全恒完成解决方案的撰写,包括问题分析,docker命令 简介 关于FastBuild的优化,已经撰写了多个博客&#xff0…

搭建一个Xx431?

搭建一个Xx431? 嘿uu们!刚结束了一周六天班感觉如何? 我的状态倒还行,工作生活总能找到乐子,本周整活就是用纸巾和蛋糕托做的油灯,另外想制冷片做个温水冷水可调的杯托,但我还不会搞3d,希望今年能搞起来. 题外话就说到这,这个选题也是因为实际遇到的问题需要这玩意,下班路…

Java----数组的定义和使用

1.数组的定义 在Java中,数组是一种相同数据类型的集合。数组在内存中是一段连续的空间。 2.数组的创建和初始化 2.1数组的创建 在Java中,数组创建的形式与C语言又所不同。 Java中数组创建的形式 T[] 数组名 new T[N]; 1.T表示数组存放的数据类型…

攻防世界-web-command_execution

题目: 原理: | 的作用为将前一个命令的结果传递给后一个命令作为输入 &&的作用是前一条命令执行成功时,才执行后一条命令 方法一: 第一步: 1.打开浏览器,在文本框内输入127.0.0.1 | find / -name…

【声呐仿真】学习记录2.5-DAVE项目部分文档大纲

【声呐仿真】学习记录2.5-DAVE项目 一、Dave Models 模型Vehicle Models 航行器模型New Underwater Vehicle 新型水下航行器Dave ROV ModelsDave Glider ModelsManipulator Models 机械臂模型UUV Simulator Examplesrexrovrexrov2desistek saga roveca_a9Light Autonomous Unde…