javacalendarjava中的calendar类主要有那些方法
javacalendar 时间:2021-06-26 阅读:(
)
用java(用calendar类)写一个万年历,输入年并且显示当年的日历
public?class?MyCalendar?{
????public?static?void?main(String?args[])?{
????????Scanner?sc?=?new?Scanner(System.in);
????????Calendar?c?=?Calendar.getInstance();
????????System.out.println("请输入数字年:(比如?2014)");
????????int?year?=?sc.nextInt();
????????sc.close();
//??????int?year?=?2014;
????????c.set(Calendar.YEAR,year);
????????for?(int?i?=?0;?i?<?12;?i++)?{
???????? c.set(Calendar.MONTH,i);??//
???????? c.set(Calendar.DATE,1);??//设置成1月
???????? printMonth(c);
}?
????}
????public?static?void?printMonth(Calendar?c){
???? c.set(Calendar.DAY_OF_MONTH,1);???//设置成一日
???? System.out.printf("
=========??%s??月??=========
",c.get(Calendar.MONTH)+1);
????????String[]?weeks?=?{?"日",?"一"?,??"二",??"三",??"四",??"五",??"六"?};
????????for?(int?i?=?0;?i?<?weeks.length;?i++)?{
????????????System.out.printf("%s"?+?(i?!=?6??" ":"
"),weeks[i]);
????????}
????????int?offday?=?c.get(Calendar.DAY_OF_WEEK)?-?1;
????????for(int?i?=?0;?i?<?offday;?i++){
????????????System.out.printf(" ");
????????}
????????int?month?=?c.get(Calendar.MONTH);
????????while(c.get(Calendar.MONTH)?==?month?){
????????????System.out.printf("%d"?+?(?(c.get(Calendar.DAY_OF_WEEK))?!=?7???" ":"
")?,c.get(Calendar.DAY_OF_MONTH));
????????????c.add(Calendar.DAY_OF_MONTH,?1);
????????}
????}
}如何用java做日历
看看下面代码:
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import javax.swing.JOptionPane;
class CalendarBean
{
String day[];
int year=2011,month=0;
public void setYear(int year)
{ this.year=year;
}
public int getYear()
{ return year;
}
public void setMonth(int month)
{ this.month=month;
}
public int getMonth()
{ return month;
}
public String[] getCalendar()
{ String a[]=new String[42];
Calendar 日历=Calendar.getInstance();
日历.set(year,month-1,1);
int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
int day=0;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{ day=31;
}
if(month==4||month==6||month==9||month==11)
{ day=30;
}
if(month==2)
{ if(((year%4==0)&&(year%100!=0))||(year%400==0))
{ day=29;
}
else
{ day=28;
}
}
for(int i=星期几,n=1;i<星期几+day;i++)
{
a[i]=String.valueOf(n) ;
n++;
}
return a;
}
}
class CalendarFrame extends Frame implements ActionListener
{
Label labelDay[]=new Label[42];
Button titleName[]=new Button[7];
String name[]={"日","一","二","三", "四","五","六"};
TextField text1,text2;Button nextMonth,previousMonth,Enter;Label lab1,lab2,lab3;
int year=2012,month=5;
CalendarBean calendar;
Label showMessage=new Label("",Label.CENTER);
public CalendarFrame()
{ Panel pCenter=new Panel();
pCenter.setLayout(new GridLayout(7,7));
for(int i=0;i<7;i++)
{ titleName[i]=new Button(name[i]);
pCenter.add(titleName[i]);
}
for(int i=0;i<42;i++)
{
labelDay[i]=new Label("",Label.CENTER);
pCenter.add(labelDay[i]);
}
calendar=new CalendarBean();
calendar.setYear(year);
calendar.setMonth(month);
String day[]=calendar.getCalendar();
for(int i=0;i<42;i++)
{ labelDay[i].setText(day[i]);
}
lab1=new Label("请输入日期");
lab2=new Label("年份");
lab3=new Label("月份");
Enter=new Button("确定");
text1=new TextField(10);
text2=new TextField(5);
nextMonth=new Button("下月");
previousMonth=new Button("上月");
Enter.addActionListener(this);
nextMonth.addActionListener(this);
previousMonth.addActionListener(this);
Panel pNorth=new Panel(),
pSouth=new Panel();
pNorth.add( lab1);
pNorth.add(lab2);
pNorth.add( text1);
pNorth.add(lab3);
pNorth.add(text2);
pNorth.add(Enter);
pNorth.add(previousMonth);
pNorth.add(nextMonth);
pSouth.add(showMessage);
showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );
ScrollPane scrollPane=new ScrollPane();
scrollPane.add(pCenter);
add(scrollPane,BorderLayout.CENTER);
add(pNorth ,BorderLayout.NORTH);
add(pSouth ,BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==nextMonth)
{ month=month+1;
if(month>12)
month=1;
calendar.setMonth(month);
String day[]=calendar.getCalendar();
for(int i=0;i<42;i++)
{ labelDay[i].setText(day[i]);
}
}
else if(e.getSource()==previousMonth)
{ month=month-1;
if(month<1)
month=12;
calendar.setMonth(month);
String day[]=calendar.getCalendar();
for(int i=0;i<42;i++)
{ labelDay[i].setText(day[i]);
}
}else {
String yea=text1.getText();
String mon=text2.getText();
try{
year=Integer.parseInt(yea);
month=Integer.parseInt(mon);
if(month>12||month<1||year<1){
JOptionPane.showMessageDialog(null, "请输入正确月份或月份");
return;
}
else{
calendar.setYear(year);
calendar.setMonth(month);
}
String day[]=calendar.getCalendar();
for(int i=0;i<42;i++)
{
labelDay[i].setText(day[i]);
}
}catch(NumberFormatException ee){
JOptionPane.showMessageDialog(null, "请输入正确的年份及月份");
}
}
showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );
}
}
public class CalendarMainClass
{ public static void main(String args[])
{ CalendarFrame frame=new CalendarFrame();
frame.setTitle("日历");
frame.setBounds(300,200,500,300);
frame.setVisible(true);
frame.validate();
frame.addWindowListener(new java.awt.event.WindowAdapter()
{ public void windowClosing(java.awt.event.WindowEvent e)
{ System.exit(0);
}
}
);
}
}
有问题就追问。
满意请采纳。
JAVA中用Calendar方法来获得系统时间,打印在控制台上,我的程序怎么有问题啊??
public class Time extends Thread
{
public void run()
{
int h, m, s;
while (true)
{
h = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
m = Calendar.getInstance().get(Calendar.MINUTE);
s = Calendar.getInstance().get(Calendar.SECOND);
System.out.print("当前系统时间为:" + "h:"+h + "m:"+m + "s:"+s);
try
{
Thread.sleep(100);
}
catch (Exception e)
{
}
}
}
public static void main(String args[])
{
Time th = new Time();
th.start();
}
}Java中的Calendar类中的getActualMaximum方法
java.util.Calendar.getActualMaximum() 方法返回基于此Calendar的时间值,指定日历字段可能拥有的最大值。
示例演示java.util.calendar.getActualMaximum()方法的用法。
import java.util.*;
public class CalendarDemo {
public static void main(String[] args) {
// create a calendar
Calendar cal = Calendar.getInstance();
// get the maximum value that year field can have
int i = cal.getActualMaximum(Calendar.YEAR);
System.out.println("Maximum year:" + i);
// get the maximum value that month field can have
int a = cal.getActualMaximum(Calendar.MONTH);
System.out.println("Maximum month:" + a);
}
}
编译和运行上面的程序,这将产生以下结果:
Maximum year:292278994
Maximum month:11java中的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()获得当前时间的毫秒表示
reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...
hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...
A400互联是一家成立于2020年的商家,主要推行洛杉矶服务器采用kvm架构,线路优质,延迟低,稳定性高!全场产品对标腾讯云轻量,服务器线路有有美国洛杉矶cn2_gia、香港cn2+cmi,目前推行的vps服务器均为精心挑选的优质线路机房,A400互联推出了夏季优惠洛杉矶5折、香港7折促销活动,质量可靠,价格实惠!二:优惠码洛杉矶五折优惠码:20210620香港cn2七折优惠码:0710三、优惠方...
javacalendar为你推荐
instagram电脑版苹果软件商店评出最佳摄影类软件有哪些?youtube创始人鬼步舞创作者是谁ico监管为何央行叫停代币发行?腾讯合作伙伴大会腾讯的合作伙伴都有yui3求Yui的详细资料particular教程怎样做ae粒子云效果微盟价格为什么这么多人用微盟,微盟都有哪些优势flex是什么这些b365m和b360m什么意思pass是什么在英语里pass是什么意思ps5教程怎样使用PS5的程序
政务和公益机构域名注册管理中心 香港主机租用 simcentric 外国域名 12306抢票攻略 ibrs 浙江独立 嘉洲服务器 骨干网络 已备案删除域名 北京双线 服务器干什么用的 idc查询 华为云盘 太原联通测速 智能dns解析 主机管理系统 数据库空间 新加坡空间 阿里dns 更多