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;
????}
官方网站:点击访问王小玉网络官网活动方案:买美国云服务器就选MF.0220.CN 实力 强 强 强!!!杭州王小玉网络 旗下 魔方资源池 “我亏本你引流活动 ” mf.0220.CNCPU型号内存硬盘美国CERA机房 E5 2696v2 2核心8G30G总硬盘1个独立IP19.9元/月 续费同价mf.0220.CN 购买湖北100G防御 E5 2690v2 4核心4G...
hostkvm本月对香港国际线路的VPS、韩国CN2+bgp线路的VPS正在做7折终身优惠,对日本软银线路、美国CN2 GIA线路、新加坡直连线路的VPS进行8折终身优惠促销。所有VPS从4G内存开始支持Windows系统,当然主流Linux发行版是绝对不会缺席的!官方网站:https://hostkvm.com香港国际线路、韩国,7折优惠码:2021summer日本、美国、新加坡,8折优惠码:2...
reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...
javacalendar为你推荐
listviewitem求解如何获取listview中的item国家法规数据库食品及食用农产品标准法规信息支撑和综合应用平台/食品安全标准与技术法规动态比对数据库如何查询标准微信网页版登陆首页微信网页版怎么用?微信网页版怎么登陆?全局钩子delphi 键盘全局钩子动画分镜头脚本动画分镜头台本的作用?yui3YUI最详细的资料彩信平台请问彩信平台升级怎么改参数能告诉我具体步骤吗?怎样删除聊天记录怎么批量清除微信聊天记录在线沟通网络沟通的问题有哪些短信套餐中国移动发短信有什么套餐比较好
河南vps linuxvps 科迈动态域名 l5520 shopex空间 主机屋免费空间 360抢票助手 智能骨干网 个人域名 有益网络 工信部icp备案号 200g硬盘 hkt 100mbps php服务器 双十二促销 reboot alexa搜 tko 泥瓦工 更多