获取当月天数的方法

2024-04-24 10:18
文章标签 方法 获取 天数 当月

本文主要是介绍获取当月天数的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Calendar类实例化的对象 能点用诸多方法。
其中 有
cld.get(field);
set(field, value);
roll(field, amount);
三个方法。

  • cld.get(field);
    field字段填写日历中的时间段,比如Calendar.DATE、Calendar.MONTH、Calendar.YEAR,DAY_OF_WEEK、DAY_OF_MONTH等。
    返回一个int类型的值。
    比如要获取今天是几号,实现如下:
Calendar cld = Calendar.getInstance();
int today = cld.get(Calendar.DATE);

要获取今天是本周第几天,实现如下:

Calendar cld = Calendar.getInstance();
int today = cld.get(Calendar.DAY_OF_WEEK);
  • set(field, value);
    field字段填写日历中的时间段,比如Calendar.DATE、Calendar.MONTH、Calendar.YEAR等。
    value字段填写field字段要设置的值。
    比如将今天设为1号,实现如下:
Calendar cld = Calendar.getInstance();  
cld.set(Calendar.DATE, 1);//将今天设为1号
  • cld.roll(field, amount);
    field字段填写日历中的时间段,比如Calendar.DATE、Calendar.MONTH、Calendar.YEAR等。
    amount字段填写field字段要增加或减少的天数数值。

比如 今天是 6月23日
将今天向前提3天,要得到6月20日,实现如下:

Calendar cld = Calendar.getInstance();  
cld.roll(Calendar.DATE, -3);//回滚3天

将今天向后推3天,要得到6月26日,实现如下:

Calendar cld = Calendar.getInstance();  
cld.roll(Calendar.DATE, 3);//3天

需要注意的是:
这个方法只对指定的月有效。意思就是:
假如今天是 6月1日,如果你进行了如下操作:

Calendar cld = Calendar.getInstance();  
cld.roll(Calendar.DATE, -3);//回滚3天

得到的不是5月29日,而是6月的28日。

根据下面的代码和输出结果理解一下:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class Test {public static void main(String[] args) {Calendar cld = Calendar.getInstance();//获取今天的日期  ----- 6.23int today = cld.get(Calendar.DATE);System.out.println("今天是"+today+"号");//将今天设置为本月1号  ------6.1cld.set(Calendar.DATE, 1);//将今天设为1号int today1 = cld.get(Calendar.DATE); System.out.println("现在,今天是"+today1+"号");//回1号的到三天前cld.roll(Calendar.DATE, -3);int today2 = cld.get(Calendar.DATE);  System.out.println("1号的3天前,是"+today2+"号");cld.set(Calendar.DATE, today);//将日期设置回今天//回到三天前cld.roll(Calendar.DATE, -3);int today3 = cld.get(Calendar.DATE);  System.out.println("3天前,是"+today3+"号");cld.set(Calendar.DATE, today);//将日期设置回今天//去三天后cld.roll(Calendar.DATE, 3);int today4 = cld.get(Calendar.DATE);  System.out.println("3天后,是"+today4+"号");}
}

输出结果
这里写图片描述

使用
get(field);
set(field, value);
roll(field, amount);
三个方法,就可以获得本月的天数了。
代码如下:

public static int getCurrentMonthLastDay()  
{  Calendar cld = Calendar.getInstance();  cld.set(Calendar.DATE, 1);//将今天设为1号cld.roll(Calendar.DATE, -1);//日期减一天相当于回到了本月的最后一天int maxDate = cld.get(Calendar.DATE);  return maxDate;  
}

参考:http://blog.csdn.net/tsoTeo/article/details/73603351

这篇关于获取当月天数的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931476

相关文章

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

java导出pdf文件的详细实现方法

《java导出pdf文件的详细实现方法》:本文主要介绍java导出pdf文件的详细实现方法,包括制作模板、获取中文字体文件、实现后端服务以及前端发起请求并生成下载链接,需要的朋友可以参考下... 目录使用注意点包含内容1、制作pdf模板2、获取pdf导出中文需要的文件3、实现4、前端发起请求并生成下载链接使

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Java捕获ThreadPoolExecutor内部线程异常的四种方法

《Java捕获ThreadPoolExecutor内部线程异常的四种方法》这篇文章主要为大家详细介绍了Java捕获ThreadPoolExecutor内部线程异常的四种方法,文中的示例代码讲解详细,感... 目录方案 1方案 2方案 3方案 4结论方案 1使用 execute + try-catch 记录

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的