javacalendarJava中日历类(CalendarClass)的用途?
javacalendar 时间:2021-06-26 阅读:(
)
java如何通过calendar类获取当前系统日期
Calendar ca = Calendar.getInstance(); int year = ca.get(Calendar.YEAR);//获取年份 int month=ca.get(Calendar.MONTH);//获取月份 int day=ca.get(Calendar.DATE);//获取日 int minute=ca.get(Calendar.MINUTE);//分 int hour=ca.get(Calendar.HOUR);//小时 int second=ca.get(Calendar.SECOND);//秒 int WeekOfYear = ca.get(Calendar.DAY_OF_WEEK);java中的Calendar如何使用的?
package pack.java.calendar.demo;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class CalendarDemo {
private static SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
public static void main(String[] args) {
//获取calendar实例;
Calendar calendar = Calendar.getInstance();
//判断calendar是不是GregorianCalendar类的实例;
if(calendar instanceof GregorianCalendar){
System.out.println("属于GregorianCalendar类的实例!");
}
//从calendar对象中获得date对象,当前时间;
Date dates = calendar.getTime();
//格式化时间;
String date_str= date_format.format(dates);
System.out.println(date_str);
//设置月份05;代表日历的月份6月,因为月份从0开始。
calendar.set(Calendar.MONTH, 05);
int months = calendar.get(Calendar.MONTH);
System.out.println(months); //输出05;
//设置日期为2011-07-24 09:59:50
calendar.set(2011, 06, 24, 9, 59, 50);
String getDate = date_format.format(calendar.getTime());
System.out.println(getDate); //输出2011-07-24 09:59:50;
//比较日前大小;
if(new Date().getTime() > calendar.getTimeInMillis()){
System.out.println("当前日期在后!");
}else{
System.out.println("当前日期在前!");
}
//设置当前时间为:2011-07-24 11:06:00
calendar.setTime(new Date());
int year = calendar.get(Calendar.YEAR); //获取年;
int month = calendar.get(Calendar.MONTH); //获取月;
int date = calendar.get(Calendar.DATE); //获取天;
int hour = calendar.get(Calendar.HOUR); //获取小时;
int minute = calendar.get(Calendar.MINUTE); //获取分钟;
int second = calendar.get(Calendar.SECOND); //获取秒钟;
int hour_of_day = calendar.get(Calendar.HOUR_OF_DAY); //第几个小时,
int day_of_month = calendar.get(Calendar.DAY_OF_MONTH); //这天,在一个月内是第几天.
int day_of_week = calendar.get(Calendar.DAY_OF_WEEK); //这天,在一周内,是第几天.
int day_of_year = calendar.get(Calendar.DAY_OF_YEAR); //这天,在一年内,是第几天。
int week_of_year = calendar.get(Calendar.WEEK_OF_YEAR); //这周,在一年内是第几周;
int week_of_month = calendar.get(Calendar.WEEK_OF_MONTH);//这周,在这个月是第几周;以以星为标准;
int zone_offset = calendar.get(Calendar.ZONE_OFFSET); //获取时区;
int day_of_week_in_month = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH); //某月中第几周,按这个月1号算,1号起就是第1周,8号起就是第2周。
以月份天数为标准
int r = calendar.get(Calendar.AM_PM);
if(r==calendar.AM){
System.out.println("现在是上午");
}
if(r==calendar.PM){
System.out.println("现在是下午");
}
System.out.println("==================================================");
System.out.println(year);
System.out.println(month);
System.out.println(date);
System.out.println(hour);
System.out.println(minute);
System.out.println(second);
System.out.println(hour_of_day);
System.out.println(day_of_month);
System.out.println(day_of_week);
System.out.println(day_of_year);
System.out.println(week_of_year);
System.out.println(week_of_month);
System.out.println(zone_offset);
System.out.println(day_of_week_in_month);
}
}如何用JAVA编写出一个简单的日历
import javax.swing.JOptionPane;
public class NewClass{
public static void main(String[] args){
int year,month;
Calender cal=new Calender(2008,10);
cal.showCalender();
year=Integer.parseInt(JOptionPane.showInputDialog("Year:"));
month=Integer.parseInt(JOptionPane.showInputDialog("Month:"));
cal.setYear(year);
cal.setMonth(month);
cal.showCalender();
}
}
class Calender{
private int year,month;
public Calender(){
year=0;
month=1;
}
public Calender(int year){
this.year=year;
month=1;
}
public Calender(int year,int month){
this.year=year;
if(month>12)
this.month=month%12;
else
this.month=month;
}
public void setYear(int year){
this.year=year;
}
public void setMonth(int month){
if(month>12)
this.month=month%12;
else
this.month=month;
}
private int dayOfMonth(){
int days=0;
switch(month){
case 1:days=31;break;
case 2:{
if(((year%4==0)&&(year%100!=0))||(year%400==0))
days=29;
else
days=28;
break;
}
case 3:days=31;break;
case 4:days=30;break;
case 5:days=31;break;
case 6:days=30;break;
case 7:days=31;break;
case 8:days=31;break;
case 9:days=30;break;
case 10:days=31;break;
case 11:days=30;break;
case 12:days=31;break;
default:
days=0;
}
return days;
}
private int dayOfWeek(){
int Y=year;
int M=month;
int D=1;
int A;
A = Y>0?(5+(Y+1)+(Y-1)/4-(Y-1)/100+(Y-1)/400)%7:(5+Y+Y/4-Y/100+Y/400)%7;
A = M>2?(A+2*(M+1)+3*(M+1)/5)%7:(A+2*(M+2)+3*(M+2)/5)%7;
if (((Y%4 == 0 && Y%100 != 0)|| Y%400 == 0) && M>2) A =(A+1)%7;
A=(A+D)%7;
return A;
}
public void showCalender(){
String str=new String();
str=" ";
str+=year+"年"+month+"月";
str+="
";
str+="日 一 二 三 四 五 六
";
int week=this.dayOfWeek();
for(int i=0,j=1;i<7;i++){
if(i<week)
str+=" ";
else{
str+=" "+j+" ";
j++;
}
}
str+="
";
end:
for(int i=7-week+1;i<=this.dayOfMonth();){
for(int j=0;j<7;j++){
if(i<10)
str+=" "+i+" ";
else
str+=i+" ";
i++;
if(i>this.dayOfMonth())
break end;
}
str+="
";
}
JOptionPane.showMessageDialog(null,str);
}
}
用一个类来实现Java中日历类(CalendarClass)的用途?
Java中日历类(Calendar类)的用途如下:
????Calendar类的静态方法getInstance()可以初始化一个日历对象:Calendar now = ????????Calendar.getInstance(); ? ?
????可以使用下面三个方法把日历定到任何一个时间:
?????set(int?year?,int?month,int?date)??;
?????set(int?year?,int?month,int?date,int?hour,int?minute)?;
?????set(int?year?,int?month,int?date,int?hour,int?minute,int?second)?;????如果想获得年份、月份、小时等信息可以使用: ?
??????Now.get(Calendar.Month);//这样的方法?0表示一月,1表示二月??
?????get(Calendar.DAY_OF_MONTH);//获得这个月的第几天
?????get(Calendar.DAY_OF_WEEK);//获得这个星期的第几天?
?????get(Calendar.DAY_OF_YEAR);//获得这个年的第几天??
???????getTimeMillis();//获得当前时间的毫秒表示
????1.计算某一月份的最大天数
????Calendar?time=Calendar.getInstance();?
????time.clear();?
????time.set(Calendar.YEAR,year);?
????time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0?????????????
????int?day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
????注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
????2.Calendar和Date的转化
????(1) Calendar转化为Date
????Calendar?cal=Calendar.getInstance();
????Date?date=cal.getTime();
????(2) Date转化为Calendar
????Date?date=new?Date();
????Calendar?cal=Calendar.getInstance();
????cal.setTime(date);
????3.格式化输出日期时间
????Date?date=new?Date();
????SimpleDateFormat?df=new?SimpleDateFormat("yyyy-MM-dd?hh:mm:ss");
????System.out.println(df.format(date));
????4.计算相隔天数的方法
????public?int?getDaysBetween?(Calendar?d1,?Calendar?d2){
??????if?(d1.after(d2)){??//?swap?dates?so?that?d1?is?start?and?d2?is?end
???????????java.util.Calendar?swap?=?d1;
???????????d1?=?d2;
???????????d2?=?swap;
??????}
??????int?days?=?d2.get(Calendar.DAY_OF_YEAR)?-?d1.get(Calendar.DAY_OF_YEAR);
??????int?y2?=?d2.get(Calendar.YEAR);
?????if?(d1.get(Calendar.YEAR)?!=?y2){
???????????d1?=?(Calendar)?d1.clone();
???????????do{
?????????????days?+=?d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
???????????????d1.add(Calendar.YEAR,?1);
??????????}?while?(d1.get(Calendar.YEAR)?!=?y2);
??????}
???????return?days;
????}
CUBECLOUD(魔方云)成立于2016年,亚太互联网络信息中心(APNIC)会员,全线产品均为完全自营,专业数据灾备冗余,全部产品均为SSD阵列,精品网络CN2(GIA) CU(10099VIP)接入,与当今主流云计算解决方案保持同步,为企业以及开发者用户实现灵活弹性自动化的基础设施。【夏日特促】全场产品88折优惠码:Summer_2021时间:2021年8月1日 — 2021年8月8日香港C...
百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!百纵科技官网:https://www.baizon.cn/联系QQ:3005827206美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格活动活动地址1核1G10M10G10G38/月续费同价点击...
美国特价云服务器 2核4G 19.9元杭州王小玉网络科技有限公司成立于2020是拥有IDC ISP资质的正规公司,这次推荐的美国云服务器也是商家主打产品,有点在于稳定 速度 数据安全。企业级数据安全保障,支持异地灾备,数据安全系数达到了100%安全级别,是国内唯一一家美国云服务器拥有这个安全级别的商家。E5 2696v2x2 2核 4G内存 20G系统盘 10G数据盘 20M带宽 100G流量 1...
javacalendar为你推荐
网络视频下载器那些视频下载器比较全而且好用?一起作业网站一起作业官网是什么?flash实例Flash元件和实例的概念及关系?怎么用电脑发短信怎样用电脑给别人的手机发短信?listviewitemListView具有多种item布局公众号付费阅读目前公众号有没有的付费问答平台可以提供的?pat是什么格式pat是什么格式的文件啊sms是什么什么是SMS协议彩信平台目前国内有哪些短信平台服务商,怎么排名?在线沟通什么是在线状态?
vps虚拟服务器 什么是域名解析 电信测速器 pccw 128m内存 国内php空间 台湾谷歌网址 怎么测试下载速度 国外代理服务器软件 河南移动网 如何用qq邮箱发邮件 免费phpmysql空间 如何建立邮箱 空间购买 便宜空间 架设邮件服务器 路由跟踪 中国电信网络测速 lamp是什么意思 镇江高防 更多