Java中Calendar类的常用方法

Calendar类常用方法的记录:

获取时间

    // 使用默认时区和语言环境获得一个日历Calendar cal = Calendar.getInstance();// 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1System.out.println("年:" + cal.get(Calendar.YEAR));System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));       System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));System.out.println("分:" + cal.get(Calendar.MINUTE));System.out.println("秒:" + cal.get(Calendar.SECOND));

今天是 2022年 2 月 24日,运行结果:

年:2022
月:2
日:24
时:20
分:38
秒:47

设置时间

月份的下标从 0 开始,设置时同样需要注意,比如我们设置为 2 月 15 日除夕当晚的倒计时的最后一秒: 2018-02-15 23:59:59
可以这样:

    Calendar cal = Calendar.getInstance();// 如果想设置为某个日期,可以一次设置年月日时分秒,由于月份下标从0开始赋值月份要-1// cal.set(year, month, date, hourOfDay, minute, second);cal.set(2018, 1, 15, 23, 59, 59);

或者也可以单个字段一一设置:

    // 或者6个字段分别进行设置,由于月份下标从0开始赋值月份要-1cal.set(Calendar.YEAR, 2018);cal.set(Calendar.MONTH, Calendar.FEBRUARY);cal.set(Calendar.DAY_OF_MONTH, 15);cal.set(Calendar.HOUR_OF_DAY, 23);cal.set(Calendar.MINUTE, 59);cal.set(Calendar.SECOND, 59);System.out.println(cal.getTime());

打印的时间结果为:

    Thu Feb 15 23:59:59 CST 2018

时间计算

add方法:
比如在除夕当晚最后一秒,add 一秒:

    Calendar cal = Calendar.getInstance();System.out.println(cal.getTime());cal.set(2018, 1, 15, 23, 59, 59);cal.add(Calendar.SECOND, 1);System.out.println(cal.getTime());

打印时间结果如下,日期会自动进入下一天:

    Thu Feb 15 23:59:59 CST 2018Fri Feb 16 00:00:00 CST 2018

再比如 1 月 31 号的时候,月份加一,会出现怎样结果:

    Calendar cal = Calendar.getInstance();cal.set(2018, 1, 31, 8, 0, 0);System.out.println(cal.getTime());cal.add(Calendar.MONTH, 1);System.out.println(cal.getTime());

运行结果:

    Wed Jan 31 08:00:00 CST 2018Wed Feb 28 08:00:00 CST 2018

说明 add 月份时,会将不存在的日期归为当月日历的最后一天。

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

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

相关文章

Java啤酒生产系统描述_Java描述设计模式(03):工厂方法模式

一、工厂方法模式1、生活场景系统常见的数据导出功能:数据导出PDF、WORD等常见格式。2、工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。工厂方法模式的用意是定义一个创建产品对象的工…

@Autowired(required=false)注入注意的问题

1、前言 在使用spring开发过程中,我们基本上都是使用Autowired这个注解,用来注入已有的bean。但是有些时候,会注入失败。当我们加上参数(requiredfalse)就能解决。今天整理一个我在实际开发中的例子 2、required属性…

jna enum 对应 java_JNA简单使用

近期使用Java开发有关于摄像机接收到数据的上传,因为摄像机处理图像是用C语言实现的,所以开发需要用到JNA,实现JAVA对C语言的回调,因为具体的开发方式官方文档里面有示例,所以本文只是简单的把需要注意的点罗列出来。一、 定义JNA…

java if经典程序_java经典程序(11-20)

package question;import java.util.Scanner;public class Test11_20 {/** 输入一个数据n,计算斐波那契数列的第n个值 并打印所以值* 1 1 2 3 5 8 13* 规律一个数等于前两个数之和*/public void test11(){Scanner sc new Scanner(System.in);int n sc.nextInt();i…

什么是ip地址、子网掩码、网关和DNS?

什么是ip地址、子网掩码、网关和DNS? 什么是ip地址? IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全…

mysql binlog update_mysql binlog 简单介绍与基于binlog数据恢复

mysql binlog 简单介绍与基于binlog数据恢复通过备份文件恢复binlog(本节重点)binlog 二进制日志文件show variables like log_bin;二进制日志文件(binary log) 记录了对mysql 数据库执行更改的所有操作, 但是不包括 select 和 show 这类操作,因为这类操作对数据本身没有修改. …

Dubbo:RPC原理

1、RPC原理 一次完整的RPC调用流程如下: 1)服务消费方(client)调用以本地调用方式调用服务; 2)client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体; 3)clie…

java jni日志输出_java打印Jni层log

要在java层打印c的log必须引入这个头文件的宏定义:#ifndef __LOG#define __LOG#ifdef __cplusplusextern "C"{#endif#include//宏定义类似java 层的定义,不同级别的Log LOGI, LOGD, LOGW, LOGE, LOGF。 对就Java中的 Log.i log.d#define LOG_TAG "HelloJni"…

Dubbo基本原理机制

分布式服务框架: 高性能和透明化的RPC远程服务调用方案SOA服务治理方案Apache MINA 框架基于Reactor模型通信框架,基于tcp长连接 Dubbo缺省协议采用单一长连接和NIO异步通讯, 适合于小数据量大并发的服务调用,以及服务消费者机器…

Dubbo是如何进行远程服务调用的?(源码流程跟踪)

首先会分析Dubbo是如何进行远程服务调用的,如果不了解dubbo的服务暴露和服务调用,请去看前两篇dubbo的文章,然后后面我还会说一下dubbo的SPI机制 当我们在使用reference 注解的时候,来调用我们的提供者的Service对象的时候&#…

JAVA解析存储过程获取的对象_java 解析数据的存储过程的

先定义枚举:public enum ProcParamType {IN,OUT}调用存储过程的描述public class ProcCallableDescriptor {private List procParams new ArrayList();public List getProcParams() {return procParams;}public void addProPram(ProcParam param) {procParams.add(…

Redis五种数据类型及应用场景

Redis五种数据类型及应用场景 MySqlMemcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的…

轮询、长轮询与Web Socket的前端实现

Web Socket 应用场景:实现即时通讯:如股票交易行情分析、聊天室、在线游戏等,替代轮询和长轮询 轮询 轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏…

java apt怎么用_java – APT和AOP在同一个项目中,使用Maven

我显然是唯一能够回答我自己问题的人.我已经使用Maven Antrun Plugin通过ant编译AspectJ.这是我的pom片段:maven-antrun-plugin1.4org.aspectjaspectjtools${aspectj.version}ajc-compileprocess-classesvalue"${project.basedir}/src/main/aspect" />…

WebSocket介绍和Socket的区别

WebSocket介绍与原理 WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP)请求完成。 ——百度百科 目的:即时通讯,替代轮询 应用场景:网站上的即时通讯是很常见的&#xf…

python代码html显示数据_通过AJAX success方法以html格式显示数据

我正在编写下面的代码,用json格式从数据库返回的html表中显示数据success : function(data){alert("declaring variable");var output"alert("creating output");output"" "" "REPORTSUITE_ID" "&q…

WebSocket协议入门介绍

文章目录WebSocket协议是什么WebSocket是应用层协议WebSocket与Http的区别为什么要使用WebSocket如何使用WebSocket客户端API在客户端使用WebSocket在服务端使用WebSocket反向代理对WebSocket的支持WebSocket协议是什么 WebSocket是应用层协议 WebSocket是基于TCP的应用层协议…

远程ykvm 插件移值java_Centos7 命令行下kvm安装windows,linux

查看是否支持egrep "svm|vmx" /proc/cpuinfo |uniq安装软件yum install libvirt -yyum -y install qemu-kvmsystemctl enable libvirtd && systemctl start libvirtd# 启动libvitd服务查看 ip add #查看是否有 virbr0网卡 yum install virt-installcentos7 例…

Websocket——原理及基本属性和方法

Websocket——原理及基本属性和方法 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通…

php7.0扩展yac,php扩展之yac安装

git克隆$ git clone https://github.com/laruence/yac.git解压安装注意这里的php-config可能不一样查看php-config位置$whereis php编译安装$ cd yac$ phpize$ ./configure --with-php-config/usr/bin/php-config$ make$ make install修改php.ini,载入扩展,重启php-fpmextensio…