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;
????}
美国服务器哪家平台好?美国服务器无需备案,即开即用,上线快。美国服务器多数带防御,且有时候项目运营的时候,防御能力是用户考虑的重点,特别是网站容易受到攻击的行业。现在有那么多美国一年服务器,哪家的美国云服务器好呢?美国服务器用哪家好?这里推荐易探云,有美国BGP、美国CN2、美国高防、美国GIA等云服务器,线路优化的不错。易探云刚好就是做香港及美国云服务器的主要商家之一,我们来看一下易探云美国云服...
Advinservers,国外商家,公司位于新泽西州,似乎刚刚新成立不久,主要提供美国和欧洲地区VPS和独立服务器业务等。现在有几款产品优惠,高达7.5TB的存储VPS和高达3.5TBDDoS保护的美国纽约高防服务器,性价比非常不错,有兴趣的可以关注一下,并且支持Paypal付款。官方网站点击直达官方网站促销产品第一款VPS为预购,预计8月1日交付。CPU为英特尔至强 CPU(X 或 E5)。官方...
虎跃科技怎么样?虎跃科技(虎跃云)是一家成立于2017年的国内专业服务商,专业主营云服务器和独立服务器(物理机)高防机房有着高端华为T级清洗能力,目前产品地区有:山东,江苏,浙江等多地区云服务器和独立服务器,今天虎跃云给大家带来了优惠活动,为了更好的促销,枣庄高防BGP服务器最高配置16核32G仅需550元/月,有需要的小伙伴可以来看看哦!产品可以支持24H无条件退款(活动产品退款请以活动规则为准...
javacalendar为你推荐
chartboostExcel 什么是xy chartlabeler?如何使用动态图片格式怎么将GIF动态图片的格式变成JPG 动态效果不变?netbios协议现在怎么还有用NetBios协议的,这个协议和TCP/IP协议有什么关系,为什么获取网卡的信息还要医院排队系统医院排队叫号系统有哪些功能?yui3YUI最详细的资料怎么查微信注册时间怎么知道微信上次登录时间在线沟通网络沟通的问题有哪些空间导航怎么把空间的导航变成只有留言板跟相册短信套餐移动有什么短信包月套餐,怎么开通?particular教程particular的用法
长沙虚拟主机 enzu permitrootlogin 轻博客 长沙服务器 国外网站代理服务器 中国电信测速112 我爱水煮鱼 ntfs格式分区 泉州电信 中国电信宽带测速网 hdd 免费邮件服务器 net空间 秒杀品 东莞主机托管 supercache 国外代理服务器 贵州电信 japanese50m咸熟 更多