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()获得当前时间的毫秒表示
pacificrack在最新的7月促销里面增加了2个更加便宜的,一个月付1.5美元,一个年付12美元,带宽都是1Gbps。整个系列都是PR-M,也就是魔方的后台管理。2G内存起步的支持Windows 7、10、Server 2003\2008\2012\2016\2019以及常规版本的Linux!官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7月秒杀VP...
在之前的一些文章中有提到HostYun商家的信息,这个商家源头是比较老的,这两年有更换新的品牌域名。在陆续的有新增机房,价格上还是走的低价格路线,所以平时的折扣力度已经是比较低的。在前面我也有介绍到提供九折优惠,这个品牌商家就是走的低价量大为主。中秋节即将到,商家也有推出稍微更低的88折。全场88折优惠码:moon88这里,整理部分HostYun商家的套餐。所有的价格目前都是原价,我们需要用折扣码...
简介酷盾安全怎么样?酷盾安全,隶属于云南酷番云计算有限公司,主要提供高防CDN服务,高防服务器等,分为中国境内CDN,和境外CDN和二个产品,均支持SSL。目前CDN处于内测阶段,目前是免费的,套餐包0.01一个。3G流量(高防CDN)用完了继续续费或者购买升级包即可。有兴趣的可以看看,需要实名的。官方网站: :点击进入官网云南酷番云计算有限公司优惠方案流量3G,用完了不够再次购买或者升级套餐流量...
javacalendar为你推荐
最好的翻译网站求最好的翻译网站和软件netbios协议NETBEUI协议有什么用?方正证券官方网方正证券同花顺下载/2010同花顺官方网站/同花顺官方网站首页za是哪个国家的奥洛菲是哪个国家的东兴证券网站东兴证券超强版下载,东兴证券超强版v6下载官方网站,东兴证券软件下载泛微协同办公系统泛微OA系统怎么创建新人员validdatevalid use date 什么意思微盟价格虚拟币的价格由什么决定aviconverter介绍一个好用的免费的avi转换器asp论坛源码ASP论坛源代码为什么上传到ASP空间后打不开
photonvps linode代购 l5520 20g硬盘 mysql主机 ibrs 彩虹ip 个人域名 国外ip加速器 双线asp空间 什么是web服务器 云服务是什么意思 国内空间 北京主机托管 ncp winserver2008 免费的加速器 侦探online bwg rsync 更多