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()获得当前时间的毫秒表示
快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。云服务器网(yuntue.com)小编之前已经介绍过很多快云科技的香港及美国云服务器了,这次再介绍一下新的优惠方案。目前,香港云沙田CN2云服务器低至29元/月起;美国超防弹性云/洛杉矶CUVIP低至33.6元/月起。快云科技的云主机架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10...
CloudCone发布了2021年的闪售活动,提供了几款年付VPS套餐,基于KVM架构,采用Intel® Xeon® Silver 4214 or Xeon® E5s CPU及SSD硬盘组RAID10,最低每年14.02美元起,支持PayPal或者支付宝付款。这是一家成立于2017年的国外VPS主机商,提供VPS和独立服务器租用,数据中心为美国洛杉矶MC机房。下面列出几款年付套餐配置信息。CPU:...
咖啡主机怎么样?咖啡主机是一家国人主机销售商,成立于2016年8月,之前云服务器网已经多次分享过他家的云服务器产品了,商家主要销售香港、洛杉矶等地的VPS产品,Cera机房 三网直连去程 回程CUVIP优化 本产品并非原生地区本土IP,线路方面都有CN2直连国内,机器比较稳定。咖啡主机目前推出美国洛杉矶弹性轻量云主机仅13元/月起,高防云20G防御仅18元/月;香港弹性云服务器,香港HKBN CN...
javacalendar为你推荐
4k超高清视频下载哪里有4K片源下载啊?补充:刚入手了一个4k电视盒,小美盒子V9,说是支持4k。正好我的电视机是4k的,想知道哪里有得下载呢?有朋友说我傻,现在基本上没有4k片源下载,而且不知道什么时候才有。等到流行的时候也许这个机器又淘汰啦!我该怎么办啊?renderpartialrender farm 是什么意思暴力破解rar求暴力破解rar压缩包软件方正证券官方网方正证券同花顺下载/2010同花顺官方网站/同花顺官方网站首页validdatevalid use date 什么意思微盟价格微盟怎么收费?西安娱乐西安最高端会所是哪一家元宝汇热血传奇怎么冲元宝的ps5教程怎样使用PS5的程序camel是什么意思“压垮骆驼的最后一根稻草”是什么意思?
域名主机 域名管理 godaddy域名解析 域名停靠一青草视频 smartvps google镜像 singlehop Dedicated 京东商城0元抢购 亚马逊香港官网 免费智能解析 免费phpmysql空间 鲁诺 东莞服务器 上海服务器 多线空间 美国独立日 外贸空间 dnspod web应用服务器 更多