用Calendar就能结决你的问题,代码如下:
import javautilCalendar;
import javautilDate;
public class Data {
public static void main(String[] args) {
Calendar a=CalendargetInstance();
aset(CalendarDATE, 1);//把日期设置为当月第一天
aroll(CalendarDATE, -1);//日期回滚一天,也就是最后一天
int MaxDate=aget(CalendarDATE);
Systemoutprintln("该月最大天数:"+MaxDate);
}
}
ps:你也可以自己改改把月份设定为自己想要的那个月
附上代码:
Date date = new Date("2014/1/10 18:20");Date date2 = new Date("2014/1/11 3:5");
long temp = date2getTime() - dategetTime(); //相差毫秒数
long hours = temp / 1000 / 3600; //相差小时数
long temp2 = temp % (1000 3600);
long mins = temp2 / 1000 / 60; //相差分钟数
Systemoutprintln("date2 与 date 相差" + hours + "小时"+ mins + "分钟");
希望能够帮助到你!
如果我的回答对你有帮助,
别忘了点击我的回答下方选为满意答案按钮。
谢谢!
首先:getActualMaximum()是获取给定日历字段的可能最大值
这个指定是调用这个方法的calender对象,在你的程序中就是c中指定的csetTime(d)
cDAY_OF_MONTH是Calendar对象给定的常量,这个常量匹配的值就是5,也就是说在Calendar对象中,5这个整数代表的就是月份中的日期。这是Calendar中定义的,当然这个数字也可以是别的,只是JDK为这个对象定义5代表了DAY_OF_MONTH的意思而已,不用想的太复杂。之所以为了定这样的常量就是为了方便开发者调用这个类的方法时,不用直接记住使用
也就是说你输入的实参是5的时候,这个返回的才是你指定的月份的最大天数。而这个月份在哪指定呢,就在你c这个calendar对象里设置。你可以把String s = "2013-07-10";月份改变试试看
import os
print(osname) # *** 作系统名称 Windows nt 非Windows posix
print(ossep) # 路径分隔符 Windows \ 其他 /
import os
# 使用 ospath 方法获取文件的路径
# 001获取文件的绝对路径 使用abspath方法
print(ospathabspath("04_模块导入py"))
# 运行结果:D:\mypycharm\pythonProject\千峰培训\day11module1\04_模块导入py
# 002判断是否是文件 False
print(ospathisdir(""))
# 运行结果: False
# 003判断文件是否存在如果存在返回True 否则返回False
print(ospathexists("mydir"))
# True
import os
files = "20201222testpy"
print(filesrpartition("")[-1])
print(ospathsplitext(files)[-1])
# 运行结果:
# 获取文件的后缀名 py
# 获取文件的后缀名 py
import os
print(osgetcwd())
# 运行结果:
# D:\mypycharm\pythonProject\培训\day11module1
import os
oschdir("mydir")
print(osgetcwd())
# D:\mypycharm\pythonProject\培训\day11module1\mydir
import os
osrename("66py","/99py")
import os
# 001删除文件
osremove("/99py")
# 002删除空文件夹
osrmdir("/mydir")
osremovedirs("mydir")
import os
osmkdir("mydir")
import os
# 001列出指定目录里所有的子目录和文件
print(oslistdir("D:\mypycharm\pythonProject"))
# 002默认当前目录里的 子目录和文件
print(oslistdir())
# 运行结果:
# ['idea', '千峰培训', '学校实习']
# ['03_modulepy', '04_模块导入py', '05_ospy', '20201222testspy', 'a01_module1py', 'a02_module2py', '__pycache__']
import os
print(osenviron)
print(osenviron["PATH"])
import os
import string # 字符串模块
import random
files = "testjpg"
# 01获取文件的后缀
surffix = ospathsplitext(files)[-1]
# print(surffix) # jpg
# 02生成所有大小写字母的列表
res = list(stringascii_letters)
# print(stringascii_letters)
# 运行结果;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
# 03将0-9添加到res中
for i in range(0, 10):
resappend(str(i))
# 04随机生成文件名:
mystr = ""join(randomsample(res, 10)) # sample随机生成10个字符
# print(mystr)
# bJpED6dj2Y
# 05将文件名和后缀拼接
print(mystr+surffix)
import sys
print(syspath)
res = sysstdin
print(res)
import math
# print(mathpi) # 3141592653589793
print(mathfactorial(5)) # 120
# 幂运算 第一个参数是底数 第二个参数是幂
print(mathpow(2, 3)) # 80
# 向上取整和向下取整
print(mathfloor(15999)) # 15
print(mathceil(15001)) # 16
# 四舍五入
print(round(12351, 1)) # 1235
# 三角函数
print(mathsin(mathpi / 6)) # sin(pi/6) 049999999999999994
print(mathcos(mathpi / 3)) # sin(pi/3) 05000000000000001
print(mathtan(mathpi / 4)) # sin(pi/6) 09999999999999999
# 开方
a = 9
b = 16
print(mathsqrt(a+b)) # 50
# 以e为底的指数函数
print(mathexp(a))
# 8103083927575384
import random
# 01random() 随机生成[0,1)之间的数 前闭后开
print(randomrandom()) # 生成[0,1)之间的小数
# 02randint() 生成范围内的随机整数 全闭
print(randomrandint(10, 20)) # 生成[10,20]之间的整数
# 03randrange() 生成范围内的随机整数 前闭后开
print(randomrandrange(10, 20)) # 生成[10,20)之间的整数
# 04choice 参数是列表 随机从列表中取一个 取一次
print(randomchoice([1, 2, 3, 4, 5, 6, 77, 8, 9]))
# 05sample 的第一个参数 必须是一个可迭代对象
# 第二个参数代表着从可迭代对象从随机选取几个,选取的对象不能重复
print(""join(randomsample(["a", "b", "c", "d"], 3)))
import datetime as dt # 引入datetime 模块并将其命别名为dt
import time
import calendar # 引入日历模块
# 01datetime模块
# 001获取当前时间的具体信息
print(dtdatetimenow())
# 运行结果:
# 2020-12-26 15:36:36408129
# 年 月 日 时 分 秒 毫秒
# 002创建日期
print(dtdate(2020,1,1))
# 年月日 2020-01-01
# 003创建时间
print(dttime(16,30,30))
# 时 分 秒: 16:30:30
# 004timedelta() 括号中的默认参数是天
print(dtdatetimenow()+dttimedelta(3)) # 2020-12-25 15:50:15811738
print(dtdatetimenow()+dttimedelta(hours=3)) # 2020-12-22 18:51:41723093
print(dtdatetimenow()+dttimedelta(minutes=10)) # 2020-12-22 16:01:41723093
# 02time
# 001当前时间的时间戳
# 时间戳是指从1970—01-01 0:0:0到现在的秒数 utc时间 也叫格林尼治时间
print(timetime())
# 002按照指定格式输出时间
# print(timestrftime("%Y-%m-%d %H:%M:%S")) # 2020-12-22 15:57:49
# 时间格式:
# %Y Year with century as a decimal number
# %m Month as a decimal number [01,12]
# %d Day of the month as a decimal number [01,31]
# %H Hour (24-hour clock) as a decimal number [00,23]
# %M Minute as a decimal number [00,59]
# %S Second as a decimal number [00,61]
# %z Time zone offset from UTC
# %a Locale's abbreviated weekday name
# %A Locale's full weekday name
# %b Locale's abbreviated month name
# %B Locale's full month name
# %c Locale's appropriate date and time representation
# %I Hour (12-hour clock) as a decimal number [01,12]
# %p Locale's equivalent of either AM or PM
# 003ctime 和 asctime 时间格式 输出的时间格式一样,
# print(timeasctime()) # Tue Dec 22 15:57:49 2020
# print(timectime()) # Tue Dec 22 15:58:35 2020
# 004sleep() 时间休眠
print("我负责浪")
print(timesleep(3))
print("你负责漫")
# 005calender 生成日历
res = calendarcalendar(2021) # 生成2021年的日历
print(res)
# 006判断是否为闰年
print(calendarisleap(2020)) # True
# 007从1988年 到 2020年有多少个闰年
print(calendarleapdays(1988, 2020)) # 8
Date类大多已过时,要用Calender替代
Calender c=CalendergetInstance();
Date d=cgetTime();//这个相当于new Date(),当前日期
昨天的日期:
cadd(CalenderDAY_OF_MONTH,-1);
Date d=cgetTime();
明天的日期:
cadd(CalenderDAY_OF_MONTH,1);
Date d=cgetTime();
上个月的日期:
cadd(CalenderMONTH,-1);
Date d=cgetTime();
去年的日期:
cadd(CalenderYEAR,-1);
Date d=cgetTime();
单独获取年、月、日、小时等:
int year=cget(CalenderYEAR);
int month=cget(CalenderMONTH);
int day=cget(CalenderDAY_OF_MONTH);
int hour=cget(CalenderHOUR_OF_DAY);//这个是24小时制
int hour=cget(CalenderHOUR);//这个是12小时制
计算两个日期间的天数
SimpleDateFormat df=new SimpleDateFormat(“yyyy-MM-dd”);
Date date1=dfparse(“2014-02-02”);
Date date2=dfparse(“2014-01-02”);
Longdays=(date1getTime()-date2getTime)/(2460601000)
第一种方法:
package cnywtest;
import javatextSimpleDateFormat;
import javautilDate;
public class DateTest {
public static void main(String[] args){
Date today = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
formatformat(today);
/输入日期/
Systemoutprintln(formatformat(today));
String datetime = formatformat(today);
//输入年
String year = datetimesubstring(0, datetimeindexOf("-"));
Systemoutprintln(year);
//输出月
String month = datetimesubstring(datetimeindexOf("-")+1, datetimelastIndexOf("-"));
Systemoutprintln(month);
//输出日
String day = datetimesubstring(datetimelastIndexOf("-")+1, datetimelength());
Systemoutprintln(day);
}
}
第二种方法:
Date today = new Date();
long time = todaygetTime();
Calendar calendar = CalendargetInstance();
calendarsetTimeInMillis(time);
//输出年
Systemoutprintln(calendarget(CalendarYEAR));
//输出月 :由于月份是从0开始的所以要加上1
Systemoutprintln(calendarget(CalendarMONTH+1));
//输出日
Systemoutprintln(calendarget(CalendarDAY_OF_MONTH));
希望能够帮助你解决问题
以上就是关于java中如何获取某个日期是当月的最后一天全部的内容,包括:java中如何获取某个日期是当月的最后一天、java时间加减、java中的getActualMaximum()方法用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)