kwgt日历代码(日历代码)

:暂无数据 2026-08-29 18:00:06 0

kwgt日历代码(日历代码)

本篇文章给大家谈谈kwgt日历代码,以及日历代码对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

日历代码

万年历代码:
《iframe
***隐藏网址***
width="509"
height=433
marginwidth="0"
marginheight="0"
hspace="0"
vspace="0"
frameborder="0"
scrolling="no"》《/iframe》
老黄历的源代码:
《IFRAME
style="BORDER-RIGHT:
#000000
1px
dotted;
BORDER-TOP:
#000000
1px
dotted;
BORDER-LEFT:
#000000
1px
dotted;
BORDER-BOTTOM:
#000000
1px
dotted"
border=0
name=nongli
marginHeight=0
***隐藏网址***
frameBorder=no
width=149
scrolling=no
height=140》《/IFRAME》
最新日历代码(包括日历、星期、现在时间)
《IFRAME
border=0
name=www1.xise.cn
align=center
marginWidth=0
marginHeight=0
***隐藏网址***
frameBorder=0
width=146
scrolling=no
height=183》《/IFRAME》
代码一:《IFRAME
style="BORDER-RIGHT:
#000000
1px
dotted;
BORDER-TOP:
#000000
1px
dotted;
BORDER-LEFT:
#000000
1px
dotted;
BORDER-BOTTOM:
#000000
1px
dotted"
border=0
name=nongli
marginHeight=0
***隐藏网址***
frameBorder=no
width=149
scrolling=no
height=140》《/IFRAME》
代码二:《iframe
name="jiro23"
***隐藏网址***
width="500"
height="500"》《/iframe》
代码三:《iframe
scrolling=no
height=170
width=165
frameborder=0
marginHeight=0
marginWidth=0
***隐藏网址***
具体步骤是:复制代码---管理博客-----新增空白面板-----钩选显示源代码(出现钩号,同时文档里出现DIV的字样)----粘贴代码----钩选显示源代码(钩号消失)-----保存新增面板----定制个人首页----选取新增个人面板----保存设置

怎样用java编写日历

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Date;
import java.util.StringTokenizer;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
/**
* 《p》Title: Swing日历《/p》
* 《p》Description: 操作日期《/p》
* @author duxu2004
* @version 1.0.1
*/
class JCalendar extends JPanel{
//动态表示年月日
private int year=0;
private int month=0;
private int day=0;
//主面板
private JPanel Main = new JPanel();
//日面板
private JPanel jPanelDay = new JPanel();
//月面板
private JPanel jPanelMonth = new JPanel();
//年的输入位置
private JTextField Year = new JTextField();
//月的输入位置
private JTextField Month = new JTextField();
//减少月份
private JButton MonthDown = new JButton();
//增加月份
private JButton MonthUp = new JButton();
private JPanel jPanelButton = new JPanel();
//减少年份
private JButton YearDown = new JButton();
//增加年份
private JButton YearUp = new JButton();
//显示日期的位置
private JLabel Out = new JLabel();
//中国时区,以后可以从这里扩展可以设置时区的功能
private Locale l=Locale.CHINESE;
//主日历
private GregorianCalendar cal=new GregorianCalendar(l);
//星期面板
private JPanel weekPanel=new JPanel();
//天按钮组
private JToggleButton;
//天面板
private JPanel Days = new JPanel();
//标示
private JLabel jLabel1 = new JLabel();
private JLabel jLabel2 = new JLabel();
private JLabel jLabel3 = new JLabel();
private JLabel jLabel4 = new JLabel();
private JLabel jLabel5 = new JLabel();
private JLabel jLabel6 = new JLabel();
private JLabel jLabel7 = new JLabel();
//当前选择的天数按钮
private JToggleButton cur=null;
//月份天数数组,用来取得当月有多少天
// 1 2 3 4 5 6 7 8 9 10 11 12
private int mm={31,28,31,30,31,30,31,31,30,31,30,31};
//空日期构造函数
public JCalendar() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//带日期设置的构造函数
public JCalendar(int year, int month, int day) {
cal.set(year, month, day);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//带日历输入的构造函数
public JCalendar(GregorianCalendar calendar) {
cal=calendar;
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//带日期输入的构造函数
public JCalendar(Date date) {
cal.setTime(date);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//初始化组件
private void jbInit() throws Exception {
//初始化年、月、日
iniCalender();

this.setLayout(new BorderLayout());
this.setBorder(BorderFactory.createRaisedBevelBorder());
this.setMaximumSize(new Dimension(200, 200));
this.setMinimumSize(new Dimension(200, 200));
this.setPreferredSize(new Dimension(200, 200));

Main.setLayout(new BorderLayout());
Main.setBackground(SystemColor.info);
Main.setBorder(null);

Out.setBackground(Color.lightGray);
Out.setHorizontalAlignment(SwingConstants.CENTER);
Out.setMaximumSize(new Dimension(100, 19));
Out.setMinimumSize(new Dimension(100, 19));
Out.setPreferredSize(new Dimension(100, 19));

jLabel1.setForeground(Color.red);
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
jLabel1.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel1.setText("日");
jLabel2.setForeground(Color.blue);
jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
jLabel2.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel2.setText("六");
jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
jLabel3.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel3.setText("五");
jLabel4.setHorizontalAlignment(SwingConstants.CENTER);
jLabel4.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel4.setText("四");
jLabel5.setHorizontalAlignment(SwingConstants.CENTER);
jLabel5.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel5.setText("三");
jLabel6.setBorder(null);
jLabel6.setHorizontalAlignment(SwingConstants.CENTER);
jLabel6.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel6.setText("二");
jLabel7.setBackground(Color.lightGray);
jLabel7.setForeground(Color.black);
jLabel7.setBorder(null);
jLabel7.setHorizontalAlignment(SwingConstants.CENTER);
jLabel7.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel7.setText("一");

weekPanel.setBackground(UIManager.getColor("InternalFrame.activeTitleGradient"));
weekPanel.setBorder(BorderFactory.createEtchedBorder());
weekPanel.setLayout(new GridLayout(1,7));
weekPanel.add(jLabel1, null);
weekPanel.add(jLabel7, null);
weekPanel.add(jLabel6, null);
weekPanel.add(jLabel5, null);
weekPanel.add(jLabel4, null);
weekPanel.add(jLabel3, null);
weekPanel.add(jLabel2, null);

MonthUp.setAlignmentX((float) 0.0);
MonthUp.setActionMap(null);

jPanelMonth.setBackground(SystemColor.info);
jPanelMonth.setLayout(new BorderLayout());
jPanelMonth.setBorder(BorderFactory.createEtchedBorder());
Month.setBorder(null);
Month.setHorizontalAlignment(SwingConstants.CENTER);
Month.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
Month_mouseClicked(e);
}
});
Month.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(KeyEvent e) {
Month_keyPressed(e);
}
});

MonthDown.setBorder(null);
MonthDown.setText("\u25C4");
MonthDown.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
MonthDown_actionPerformed(e);
}
});
MonthUp.setBorder(null);
MonthUp.setText("\u25BA");
MonthUp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
MonthUp_actionPerformed(e);
}
});
jPanelButton.setLayout(null);
jPanelButton.setBorder(null);
jPanelButton.addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(java.awt.event.ComponentEvent evt) {
jPanelButtonComponentResized(evt);
}
});

Year.setBorder(BorderFactory.createEtchedBorder());
Year.setMaximumSize(new Dimension(80, 25));
Year.setMinimumSize(new Dimension(80, 25));
Year.setPreferredSize(new Dimension(80, 25));
Year.setHorizontalAlignment(SwingConstants.CENTER);
Year.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
Year_mouseClicked(e);
}
});
Year.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(KeyEvent e) {
Year_keyPressed(e);
}
});

YearDown.setBorder(null);
YearDown.setMaximumSize(new Dimension(16, 16));
YearDown.setMinimumSize(new Dimension(16, 16));
YearDown.setPreferredSize(new Dimension(16, 16));
YearDown.setSize(new Dimension(16, 16));
YearDown.setText("▼");
YearDown.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
YearDown_actionPerformed(e);
}
});
YearUp.setBorder(null);
YearUp.setMaximumSize(new Dimension(16, 16));
YearUp.setMinimumSize(new Dimension(16, 16));
YearUp.setPreferredSize(new Dimension(16, 16));
YearUp.setSize(new Dimension(16, 16));
YearUp.setText("▲");
YearUp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
YearUp_actionPerformed(e);
}
});

jPanelDay.setLayout(new BorderLayout());

Days.setLayout(new GridLayout(6,7));
Days.setBackground(SystemColor.info);

for(int i=0;i《42;i++){
days=new JToggleButton();
days.setBorder(null);
days.setBackground(SystemColor.info);
days.setHorizontalAlignment(SwingConstants.CENTER);
days.setHorizontalTextPosition(SwingConstants.CENTER);
//days.setSize(l,l);
days.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent e) {
day=Integer.parseInt(((JToggleButton)e.getSource()).getText());
showDate();
showDays();
}
});
Days.add(days);
}

this.add(Main, BorderLayout.NORTH);
this.add(jPanelDay, BorderLayout.CENTER);
this.add(jPanelMonth, BorderLayout.SOUTH);

Main.add(Year, BorderLayout.CENTER);
Main.add(Out, BorderLayout.WEST);
Main.add(jPanelButton, BorderLayout.EAST);

jPanelButton.add(YearUp);
jPanelButton.add(YearDown);

jPanelDay.add(weekPanel,BorderLayout.NORTH);
jPanelDay.add(Days, BorderLayout.CENTER);

jPanelMonth.add(Month, BorderLayout.CENTER);
jPanelMonth.add(MonthDown, BorderLayout.WEST);
jPanelMonth.add(MonthUp, BorderLayout.EAST);

showMonth();
showYear();
showDate();
showDays();
}

//自定义重画年选择面板
void jPanelButtonComponentResized(java.awt.event.ComponentEvent evt){
YearUp.setLocation(0,0);
YearDown.setLocation(0,YearUp.getHeight());
jPanelButton.setSize(YearUp.getWidth(),YearUp.getHeight()*2);
jPanelButton.setPreferredSize(new Dimension(YearUp.getWidth(),YearUp.getHeight()*2));
jPanelButton.updateUI();
}

//测试用
public static void main(String args){
JFrame f=new JFrame();
f.setContentPane(new JCalendar());
f.pack();
//f.setResizable(false);
f.show();
}
//增加年份
void YearUp_actionPerformed(ActionEvent e) {
year++;
showYear();
showDate();
showDays();
}

//减少年份
void YearDown_actionPerformed(ActionEvent e) {
year--;
showYear();
showDate();
showDays();
}

//减少月份
void MonthDown_actionPerformed(ActionEvent e) {
month--;
if(month《0) {
month = 11;
year--;
showYear();
}
showMonth();
showDate();
showDays();
}

//增加月份
void MonthUp_actionPerformed(ActionEvent e) {
month++;
if(month==12) {
month=0;
year++;
showYear();
}
showMonth();
showDate();
showDays();
}

//初始化年月日
void iniCalender(){
year=cal.get(Calendar.YEAR);
month=cal.get(Calendar.MONTH);
day=cal.get(Calendar.DAY_OF_MONTH);
}

//刷新月份
void showMonth(){
Month.setText(Integer.toString(month+1)+"月");
}

//刷新年份
void showYear(){
Year.setText(Integer.toString(year)+"年");
}

//刷新日期
void showDate(){
Out.setText(Integer.toString(year)+"-"+Integer.toString(month+1)+"-"+Integer.toString(day));
}

//重画天数选择面板
void showDays() {
cal.set(year,month,1);
int firstDayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
int n=mm;
if(cal.isLeapYear(year)&&month==1) n++;
int i=0;
for(;i《firstDayOfWeek-1;i++){
days.setEnabled(false);
days.setSelected(false);
days.setText("");
}
int d=1;
for(;d《=n;d++){
days.setText(Integer.toString(d));
days.setEnabled(true);
if(d==day) days.setSelected(true);
else days.setSelected(false);;
i++;
}
for(;i《42;i++){
days.setEnabled(false);
days.setSelected(false);
days.setText("");
}
}

//单击年份面板选择整个年份字符串
void SelectionYear(){
Year.setSelectionStart(0);
Year.setSelectionEnd(Year.getText().length());
}

//单击月份面板选择整个月份字符串
void SelectionMonth(){
Month.setSelectionStart(0);
Month.setSelectionEnd(Month.getText().length());
}

//月份面板响应鼠标单击事件
void Month_mouseClicked(MouseEvent e) {
//SelectionMonth();
inputMonth();
}

//检验输入的月份
void inputMonth(){
String s;
if(Month.getText().endsWith("月"))
{
s=Month.getText().substring(0,Month.getText().length()-1);
}
else s=Month.getText();
month=Integer.parseInt(s)-1;
this.showMe();
}

//月份面板键盘敲击事件响应
void Month_keyPressed(KeyEvent e) {
if(e.getKeyChar()==10)
inputMonth();
}

//年份面板响应鼠标单击事件
void Year_mouseClicked(MouseEvent e) {
//SelectionYear();
inputYear();
}

//年份键盘敲击事件响应
void Year_keyPressed(KeyEvent e) {
//System.out.print(new Integer(e.getKeyChar()).byteValue());
if(e.getKeyChar()==10)
inputYear();
}

//检验输入的年份字符串
void inputYear() {
String s;
if(Year.getText().endsWith("年"))
{
s=Year.getText().substring(0,Year.getText().length()-1);
}
else s=Year.getText();
year=Integer.parseInt(s);
this.showMe();
}

//以字符串形式返回日期,yyyy-mm-dd
public String getDate(){return Out.getText();}

//以字符串形式输入日期,yyyy-mm-dd
public void setDate(String date){
if(date!=null){
StringTokenizer f = new StringTokenizer(date, "-");
if(f.hasMoreTokens())
year = Integer.parseInt(f.nextToken());
if(f.hasMoreTokens())
month = Integer.parseInt(f.nextToken());
if(f.hasMoreTokens())
day = Integer.parseInt(f.nextToken());
cal.set(year,month,day);
}
this.showMe();
}

//以日期对象形式输入日期
public void setTime(Date date){
cal.setTime(date);
this.iniCalender();
this.showMe();
}

//返回日期对象
public Date getTime(){return cal.getTime();}

//返回当前的日
public int getDay() {
return day;
}

//设置当前的日
public void setDay(int day) {
this.day = day;
cal.set(this.year,this.month,this.day);
this.showMe();
}

//设置当前的年
public void setYear(int year) {
this.year = year;
cal.set(this.year,this.month,this.day);
this.showMe();
}

//返回当前的年
public int getYear() {
return year;
}

//返回当前的月
public int getMonth() {
return month;
}

//设置当前的月
public void setMonth(int month) {
this.month = month;
cal.set(this.year,this.month,this.day);
this.showMe();
}

//刷新
public void showMe(){
this.showDays();
this.showMonth();
this.showYear();
this.showDate();
}
}
public class TestJCalendar {
public static void main(String args) {
JFrame f=new JFrame();
f.setContentPane(new JCalendar());
f.pack();
//f.setResizable(false);
f.show();
}
}

C语言的简单日历代码,求大神帮忙!!

#include《stdio.h》
#include 《string.h》
#include 《time.h》
#include 《math.h》
#include 《windows.h》
int year , month , day ;
int day_of_month = {31,28,31,30,31,30,31,31,30,31,30,31};
//char wek={’周日’,’周一’,’周二’,’周三’,’周四’,’周五’,’周六’};
int current_year,current_month,current_day;
/************************************通用关键函数**************************************************/
void cls_screen()
{
printf("请按任意键返回!\n");
getchar();
getchar();
system("cls");
}
void get_current_time() //获取当前时间
{
time_t timep;
struct tm *p;
time(&timep);
p = gmtime(&timep);
current_year=1900+p-》tm_year;
current_month=1+p-》tm_mon;
current_day=p-》tm_mday;
}
int judgement (int y)
{
if (y % 400 == 0 || (y % 100 !=0 && y %4 ==0))
return 1 ;
else return 0 ;
}
int show_week (int year , int month , int day)
{
/*
公式:w=(y++d-1)%7
*/
int w ,k; //记录周几
int year_last=year %100,c=year/100 , m = month;
if (month==1 )
{
year_last-=1 ;
m=13 ;
}
else if (month==2)
{
year_last-=1;
m=14;
}
w = (year_last + year_last/4 + c/4 - 2*c +26*(m+1)/10+day-1); // abs 绝对值
if (w《0)
{
k=(w%7+7)%7;
}
else k=w%7;
return k ;
}
/************************************第一部分**************************************************/
void print_year (int year)
{
int i , k ,x ,first_week;
printf ("请输入想要查询的年月(格式如2012):");
scanf ("%d",&year);
printf("=======================%d年===========================\n",year);
printf("\n");
if (judgement(year))
{
day_of_month=29;
}
else day_of_month=28;
for (i=1 ; i 《13 ; i++)
{
first_week = show_week(year,i,1);
printf("=====================%d月日历如下========================\n",i);
printf ("Sun\tMon\tTue\tWed\tThu\tFri\tSat\n");
for (x=1;x《=first_week;x++)
{
printf("\t");
if (x%7==0) printf ("\n");
}
for (k=1;k《=day_of_month;k++)
{
printf("%d\t",k);
if (x%7==0) printf ("\n");
x++;
}
printf("\n");
printf("\n");
printf("\n");
}
}
/************************************第二部分**************************************************/
void print_year_month ()
{
int k ,x ,first_week;
printf ("请输入想要查询的年月(格式如2012 12):");
do
{
scanf ("%d %d",&year,&month);
if (month《1||month》12)
{
printf("您输入的月份有误哦~请输入正确的月份\n");
printf ("请输入想要查询的年月(格式如2012 12):");
}
}while(1》month||month》12);
printf("=====================%d年%d月======================\n",year,month);
if (judgement(year))
{
day_of_month=29;
}
else day_of_month=28;
first_week = show_week(year,month,1);
printf ("Sun\tMon\tTue\tWed\tThu\tFri\tSat\n");
for (x=1;x《=first_week;x++)
{
printf("\t");
if (x%7==0) printf ("\n");
}
for (k=1;k《=day_of_month;k++)
{
printf("%d\t",k);
if (x%7==0) printf ("\n");
x++;
}
printf("\n");
}
/************************************第三部分**************************************************/
int year_before_sumdays (int year,int month, int day)
{
int days=0 ,i,judgement1;
int temp_day=0 ,sum_days; //
//printf ("%d,%d\n",current_year,current_month);
judgement1=judgement(year);
/*===================比当前少=====================*/
if (year 《 current_year )
{
for (i = year+1;i 《 current_year ;i++)
{
if (judgement(i))
{
days=days+356;
}
else days+=355;
}
for (i = month+1;i《=12;i++)
{
days=days+day_of_month;
}
days = days + day_of_month-day; //指定日子距离当年结束还有多少天
//printf("去年还有%d\n",days);
for (i = 0;i 《 current_month-1;i++ )
{
if (judgement1)
{
day_of_month=29;
}
temp_day = temp_day + day_of_month;
}
//当前日子是这一年的多少天
temp_day = temp_day + current_day;
//printf("今天是第%d天\n",temp_day);
sum_days=temp_day + days ;
}
/*===================比当前多=====================*/
if (year 》 current_year )
{
for (i =current_year+1;i 《 current_year ;i++)
{
if (judgement(i))
{
days=days+356;
}
else days+=355;
}
for (i = current_month+1;i《=12;i++)
{
days=days+day_of_month;
}
days = days + day_of_month-current_day; //指定日子距离当年结束还有多少天
//printf("去年还有%d\n",days);
for (i = 0;i 《month-1;i++ )
{
if (judgement1)
{
day_of_month=29;
}
temp_day = temp_day + day_of_month;
}
//当前日子是这一年的多少天
temp_day = temp_day + day;
//printf("今天是第%d天\n",temp_day);
sum_days=temp_day + days ;
}
/*===================比当前一样=====================*/
if (year == current_year )
{
if(month 《current_month)
{
for (i=month+1;i《current_month;i++)
{
if (judgement1)
{
day_of_month=29;
}
days = days + day_of_month;
}
sum_days = days + current_day + day_of_month - day ;
}
if (month》current_month)
{
for (i=current_month+1;i《month;i++)
{
if (judgement1)
{
day_of_month=29;
}
days = days + day_of_month;
}
sum_days = days + day + day_of_month - current_day ;
printf("%d\n",days);
}
if (month==current_month)
{
sum_days= abs(day-current_day);
}
}
return sum_days ;
}
void print(int year,int month,int day)
{
int week;
printf ("请输入想要查询的年月(格式如2012 12 12 ):");
do
{
scanf ("%d %d %d",&year,&month,&day);
if (judgement(year))
{
day_of_month=29;
}
printf("\n");
if (day《=0 || day 》day_of_month)
printf ("%d月没有%d,请重新输入(格式如2012 12 12 ):",month,day);
}while(day《=0 || day 》day_of_month);
week=show_week (year,month ,day);
printf("\n");
switch(month)//判断查找天是否阳历节日先由月份判断是否有节日的月份再由日判断是否为节日
{
case 1:switch(day)
{
case 1:printf("元旦") ;break;
default:printf("不是阳历节日");
}break;
case 2:switch(day)
{
case 14:printf("情人节(Valentines Day)");break;
default:printf("不是阳历节日");
}break;
case 3:switch(day)
{
case 8:printf("妇女节¨(Women’s Day)");break;
case 12:printf("植树节(Arbor Day)");break;
default:printf("不是阳历节日");
}break;
case 4:switch(day)
{
case 1:printf("愚人节(April Fools Day)");break;
case 5:printf("清明节(Tomb-sweeping Day)");break;
default:printf("不是阳历节日");
}break;
case 5:switch(day)
{
case 1:printf("劳动节(Labor Day)");break;
case 4:printf("中国青年节(Chinese Youth Day)");
default:printf("不是阳历节日");
}break;
case 6:switch(day)
{
case 1:printf("儿童节(Children’s Day)");break;
default:printf("不是阳历节日");
}break;
case 8:switch(day)
{
case 1:printf("建军节(the Army’s Day)");break;
default:printf("不是阳历节日");
}break;
case 9:switch(day)
{
case 10:printf("教师节(Teacher’s Day)");break;
default:printf("不是阳历节日");
}break;
case 10:switch(day)
{
case 1:printf("国庆节(National Day)");break;
case 31:printf("万圣节(Helloween Day)");break;
default:printf("不是阳历节日");
}break;
case 12:switch(day)
{
case 25 :printf("圣诞节(Christmas Day)");break;
default:printf("不是阳历节日");
}break;
}
printf("\n");
printf("%d年%d月%d号是:",year,month,day);
switch(week)//判断所查找天是星期几
{
case 0:printf("Sunday");break;
case 1:printf("Monday");break;
case 2:printf("Tuesday");break;
case 3:printf("Wednesday");;break;
case 4:printf("Thursday");break;
case 5:printf("Friday");break;
case 6:printf("Saturday");break;
}
printf("\n");
printf("距离今天有%d天\n",year_before_sumdays ( year, month, day));
printf("\n");
}
/********************************************************************************************/
void main ()
{
int choice,year,month,day,flag=1;
char c , k;
for(;1;)//显示程序菜单,为永真,每次查找完回到程序菜单ì
{
printf("===================================菜单选项===================================\n");
printf("请选择:\n");
printf("* * * * * * * * 1.查找某一年的年历 * * * * * * * *\n");
printf("* * * * * * * * 2.查找某一月的月历 * * * * * * * *\n");
printf("* * * * * * * * 3.查找某一天 * * * * * * * *\n");
printf("* * * * * * * * 0.退出 * * * * * * * *\n");
printf("=========================================================

求助年历的c++代码

//-------------系统库定义-------------------
#include "stdio.h"
#include "BIOS.h"
#include "dos.h"
#define X " Sun Mon Tue Wed Thu Fri Sat"
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define PGUP 0x4900
#define PGDW 0x5100
#define ESC 0x011b
#define QUERY 0x1071
#define QUERYD 0x1051
//--------------------------------------------
struct date dm ;//时间结构定义
int Cyear,Cmonth,Cday,Cmonnum,Lmonnum ;//全局变量
int isleap(int year)//判断闰年
{
if(year%4==0&&year%100||year%400==0)
return 1 ;
else
return 0 ;
}
int getday(int year,int month,int day)//计算X年X月X日是星期几
{
int flag,s,i ;
int a={0,31,28,31,30,31,30,31,31,30,31,30,31} ;
int cont=0 ;
flag=isleap(year);
if(flag==1)
a++;
for(i=1;i《month;i++)
{
cont=cont+a;
}
cont=cont+day ;
s=year+1+(year-1)/4+(year-1)/100+(year-1)/400+cont ;
return s%7 ;
}
void printspace(int n)//输出空格
{
int i ;
for(i=0;i《n;i++)printf(" ");
}
void spacer()//输出分隔符(分隔线)
{
int i ;
for(i=0;i《30;i++)
{
printf("=");
}
printf("\n");
}
void keyinfo()//输出键盘操作信息
{
printf("\n-------Operation manual-------\n");
printf("Year:Up key and Down key\n");
printf("Month:Left key and Right key\n");
printf("Day:PageUp key and PageDown key\n");
printf("Query date of the calendar:Q key\n");
printf("Exit calendar:Esc key\n");
}
void week()//输出当前日期是星期几
{
int day ;
day=getday(Cyear,Cmonth,Cday);
if(day==0)
printf("\n%d-%d-%d is Sunday!\n",Cyear,Cmonth,Cday);
if(day==1)
printf("\n%d-%d-%d is Monday!\n",Cyear,Cmonth,Cday);
if(day==2)
printf("\n%d-%d-%d is Tuesday!\n",Cyear,Cmonth,Cday);
if(day==3)
printf("\n%d-%d-%d is Wednesday!\n",Cyear,Cmonth,Cday);
if(day==4)
printf("\n%d-%d-%d is Thursday!\n",Cyear,Cmonth,Cday);
if(day==5)
printf("\n%d-%d-%d is Friday!\n",Cyear,Cmonth,Cday);
if(day==6)
printf("\n%d-%d-%d is Saturday!\n",Cyear,Cmonth,Cday);
}
void calendar(int year,int month,int day)//显示日历
{
int i,j,d,m,flag,week;
int a={0,31,28,31,30,31,30,31,31,30,31,30,31};
m=0,d=0,week=0;
Cmonnum=a;//当前月的天数
Lmonnum=a;//上一月的天数
week=d=getday(year,month,1);//取得X年X月的1日是星期几
flag=isleap(year);
if(flag==1)
{
a++;
}
clrscr();
printf("\n The calendar of year %d\n",year);
spacer();
switch(month)
{
case 1 :
printf(" January 1 ");
break ;
case 2 :
printf(" February 2 ");
break ;
case 3 :
printf(" March 3 ");
break ;
case 4 :
printf(" April 4 ");
break ;
case 5 :
printf(" May 5 ");
break ;
case 6 :
printf(" June 6 ");
break ;
case 7 :
printf(" July 7 ");
break ;
case 8 :
printf(" August 8 ");
break ;
case 9 :
printf(" September 9 ");
break ;
case 10 :
printf(" October 10 ");
break ;
case 11 :
printf(" Nevember 11 ");
break ;
case 12 :
printf(" December 12");
break ;
}
printf("\n");
printf(X);
printf("\n");
for(i=0;i《6;i++)
{
if(i==0)//如果是第一个星期时,执行!
{
printspace(d*4);
for(j=0;j《7-d;j++)
{
if(m==day-1)//m到达day的前一天时,输出
{
printf(" ",++m);
}
else if(m==day && week!=0)//m到达当天时的,输出%3d
{
printf("%3d",++m);
}
else
{
printf("%4d",++m);
}
week=(week《6)?week+1:0;//计算当天是星期几
}
printf("\n");
}
else//不是第一个星期时,执行!
{
for(j=0;j《7;j++)
{
if(m《a)
{
if(m==day-1)//m到达day的前一天时,输出
{
if(m《9)//代表只有一位数的数字如9,8,7.....等。
printf(" ",++m);
else//代表只有两位数的数字如10,11,12.....等。
printf(" ",++m);
}
else if(m==day && week!=0)
{
printf("%3d",++m);
}
else
{
printf("%4d",++m);
}
}
week=(week《6)?week+1:0;//计算当天是星期几
}
printf("\n");
if(m==a)break ;
}
}
spacer();
if(flag==1)
printf("\nThe year %d is leap year!\n",year);
if(flag==0)
printf("\nThe year %d is not leap year!\n",year);
week();
printf("\nThe current date is: %d-%d-%d\n",dm.da_year,dm.da_mon,dm.da_day);
keyinfo();
}
//keyboard Operation
void key()
{
int key ;
Cyear=dm.da_year,Cmonth=dm.da_mon,Cday=dm.da_day ;
calendar(Cyear,Cmonth,Cday);
while(1)
{
key=bioskey(0);
if(key==RIGHT)
{
if(Cmonth《12&&Cmonth》=1)
{
Cmonth++;
}
else
{
Cyear++;
Cmonth=1 ;
}
}
if(key==LEFT)
{
if(Cmonth《=12&&Cmonth》1)
{
Cmonth--;
}
else
{
Cyear--;
Cmonth=12 ;
}
}
if(key==UP)
{
Cyear++;
}
if(key==DOWN)
{
Cyear--;
}
if(key==PGUP)
{
if(Cday!=1)
{
Cday--;
}
else if(Cday==1&&Cmonth==1)
{
Cyear--;
Cmonth=12 ;
Cday=31 ;
}
else
{
Cmonth--;
Cday=Lmonnum ;
}
}
if(key==PGDW)
{
if(Cmonnum!=Cday)
{
Cday++;
}
else if(Cmonnum==Cday&&Cmonth==12)
{
Cyear++;
Cmonth=1 ;
Cday=1 ;
}
else
{
Cmonth++;
Cday=1 ;
}
}
if(key==QUERY||key==QUERYD)
{
printf("Input date format(YYYY,MM,DD):");
scanf("%d,%d,%d",&Cyear,&Cmonth,&Cday);
}
if(key==ESC)break ;
calendar(Cyear,Cmonth,Cday);
}
}
void main()
{
clrscr();
getdate(&dm);
key();
}

谁能给一段点击之后出现日历的代码

《html》
《head》
《title》《/title》
***隐藏网址***
《/head》
《body bgcolor="#FFFFFF" text="#000000" leftMargin="0" topMargin="0"》
《script》
Seperator = "-";
var DateStr = "";
// value为指定格式的日期字符串
function SetDateFromCalendar(value)
{
if(top.frames.length》0)
{
top.frames("mainFrame").DateObjCtrl_SetDateValue(value);
}
else
{
parent.DateObjCtrl_SetDateValue(value);
}
DateStr = value;
}
// 返回日期字符串
function public_getSelectedDate()
{
return DateStr;
}
《/script》
《script language="JavaScript"》
var gdCtrl = new Object();
var gcGray = "#808080";
var gcToggle = "#ffff00";
var gcBG = "#cccccc";
var gdCurDate = new Date();
var giYear = gdCurDate.getFullYear();
var giMonth = gdCurDate.getMonth()+1;
var giDay = gdCurDate.getDate();
var VicPopCal = new Object();
// 显示日历控件
function fPopCalendar(popCtrl, dateCtrl, popCal){
parent.event.cancelBubble=true;
VicPopCal = popCal; // 弹出日历控件的ID
gdCtrl = dateCtrl; // 得到日期数字的控件ID, popCtrl是指定日期控件出现位置的标识
fSetYearMon(giYear, giMonth);
var point = fGetXY(popCtrl); // 得到popCtrl的坐标
with (VicPopCal.style) {
left = point.x;
top = point.y+popCtrl.offsetHeight+1; // 设置日历控件的坐标
visibility = ’visible’;
}
VicPopCal.focus();
}
// 隐藏日历控件, 设置gdCtrl的值, 单击今天日期后执行该函数
// 直接得到日期字符串
function fSetDate(iYear, iMonth, iDay){
gdCtrl.value = iMonth+"-"+iDay+"-"+iYear; //Here, you could modify the locale as you need !!!!
VicPopCal.style.visibility = "hidden";
}
// 单击表格执行此函数
function fSetSelected(aCell){
var iOffset = 0;
var iYear = parseInt(tbSelYear.value);
var iMonth = parseInt(tbSelMonth.value);
aCell.bgColor = gcBG;
// 此段代码,控制要是点中的不是当月的日期,自动得到前一个月或后一个月
with (aCell.children){
var iDay = parseInt(innerText);
if (color==gcGray)
iOffset = (Victor《10)?-1:1;
iMonth += iOffset;
if (iMonth《1) {
iYear--;
iMonth = 12;
}else if (iMonth》12){
iYear++;
iMonth = 1;
}
}
// 获得年月日期数
var dateText = parseInt(aCell.innerText);
if(iMonth《10)
iMonth = "0" + iMonth;
if(aCell.innerText《10)
dateText = "0" + dateText;
// 将年月日组成指定字符串传给回传函数
SetDateFromCalendar(iYear + Seperator + iMonth + Seperator + dateText);
}
// 指定当前object的显示位置
function Point(iX, iY){
this.x = iX;
this.y = iY;
}
// 建立当月的日期数组
function fBuildCal(iYear, iMonth) { // 传过来的月加了1,表示下一月
var aMonth=new Array();
for(i=1;i《7;i++)
aMonth=new Array(i);
// 创建当前月第一天日期对象
var dCalDate=new Date(iYear, iMonth-1, 1);
var iDayOfFirst=dCalDate.getDay();//得到该日是星期几
var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();// 得到下一月
var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;
var iDate = 1;
var iNext = 1;
for (d = 0; d 《 7; d++)
aMonth = (d《iDayOfFirst)?-(iOffsetLast+d):iDate++;
for (w = 2; w 《 7; w++)
for (d = 0; d 《 7; d++)
aMonth = (iDate《=iDaysInMonth)?iDate++:-(iNext++);
return aMonth;
}
// 画出星期title,和显示数据
function fDrawCal(iYear, iMonth, iCellWidth, iDateTextSize) {
var WeekDay = new Array("日","一","二","三","四","五","六");
var styleTD = " bgcolor=’"+gcBG+"’ width=’"+iCellWidth+"’ bordercolor=’"+gcBG+"’ valign=’middle’ align=’center’ style=’font:bold "+iDateTextSize+" Courier;";
with (document) {
write("《tr》");
for(i=0; i《7; i++)
write("《td "+styleTD+"color:#990099’ 》" + WeekDay + "《/td》");
write("《/tr》");
for (w = 1; w 《 7; w++) {
write("《tr》");
for (d = 0; d 《 7; d++) {
write("《td id=calCell "+styleTD+"cursor:hand;’ onMouseOver=’this.bgColor=gcToggle’ onMouseOut=’this.bgColor=gcBG’ onclick=’fSetSelected(this)’》");
write("《font id=cellText Victor=’KinLee’》 《/font》");
write("《/td》")
}
write("《/tr》");
}
}
}
// 填入表格日期数据,可用的和不可用的用不同的底色来区分
function fUpdateCal(iYear, iMonth) {
myMonth = fBuildCal(iYear, iMonth); // 初始化当月的日期显示数组
var i = 0;
for (w = 0; w 《 6; w++)
for (d = 0; d 《 7; d++)
with (cellText) { // cellText是表格的标识,都叫cellText,用下标来指示
Victor = i++;
if (myMonth《0) {
color = gcGray;
innerText = -myMonth;
}else{
color = ((d==0)||(d==6))?"red":"black"; // 星期六、日颜色为红色
innerText = myMonth;
}
}
}
// 在下拉框中选中当前年和月, 然后更新数据显示
function fSetYearMon(iYear, iMon){
tbSelMonth.options.selected = true;
for (i = 0; i 《 tbSelYear.length; i++)
if (tbSelYear.options.value == iYear)
tbSelYear.options.selected = true;
fUpdateCal(iYear, iMon);
}
// 上一月
function fPrevMonth(){
var iMon = tbSelMonth.value;
var iYear = tbSelYear.value;
if (--iMon《1) {
iMon = 12;
iYear--;
}
fSetYearMon(iYear, iMon);
}
// 下一月
function fNextMonth(){
var iMon = tbSelMonth.value;
var iYear = tbSelYear.value;
if (++iMon》12) {
iMon = 1;
iYear++;
}
fSetYearMon(iYear, iMon);
}
function fGetXY(aTag){
var oTmp = aTag;
var pt = new Point(0,0);
do {
pt.x += oTmp.offsetLeft;
pt.y += oTmp.offsetTop;
oTmp = oTmp.offsetParent;
} while(oTmp.tagName!="BODY");
return pt;
}
var gMonths = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
//打印出年月日的显示的表格,之后再填入数字
with (document) {
write("《table id=’popTable’ border=’0’ bgcolor=’#6699cc’》");
write("《TR》");
write("《td valign=’middle’ align=’center’》《input type=’button’ name=’PrevMonth’ value=’《’ style=’height:20;width:20;FONT:16 Fixedsys’ onClick=’fPrevMonth()’》");
write(" 《SELECT name=’tbSelYear’ onChange=’fUpdateCal(tbSelYear.value, tbSelMonth.value)’ Victor=’Won’》");
for(i=2000;i《3000;i++)
write("《OPTION value=’"+i+"’》"+i+"《/OPTION》");
write("《/SELECT》");
write(" 《select name=’tbSelMonth’ onChange=’fUpdateCal(tbSelYear.value, tbSelMonth.value)’ Victor=’Won’》");
for (i=0; i《12; i++)
write("《option value=’"+(i+1)+"’》"+gMonths+"《/option》");
write("《/SELECT》");
write(" 《input type=’button’ name=’NextMonth’ value=’》’ style=’height:20;width:20;FONT:16 Fixedsys’ onclick=’fNextMonth()’》");
write("《/td》");
write("《/TR》《TR》");
write("《td align=’center’》");
write("《DIV style=’background-color:teal;’》《table width=’100%’ border=’0’ cellpadding=’2’》");
fDrawCal(giYear, giMonth, 19, 12);
write("《/table》《/DIV》");
write("《/td》");
write("《/TR》《TR》《TD align=’center’》");
write("《font style=’cursor:hand;font:12 Fixedsys’ onclick=’fSetDate(giYear,giMonth,giDay)’ onMouseOver=’this.style.color=gcToggle’ onMouseOut=’this.style.color=0’》今天是: "+giYear+"年"+gMonths+"月"+giDay+"日"+"《/font》");
write("《/TD》《/TR》");write("《/TD》《/TR》");
write("《/TABLE》");
}
var today = new Date();
// 用当前的日期更新月历显示
fSetYearMon(today.getFullYear(), today.getMonth() + 1);
// 填入表格日期数据,可用的和不可用的用不同的底色来区分
//fUpdateCal(today.getFullYear(), today.getMonth() + 1);
《/script》
《/body》
《/html》

日历效果的网页代码要怎么做

网上找的:
***隐藏网址***
***隐藏网址***
《head》
《title》博客专用的JS日历控件《/title》
***隐藏网址***
《style type="text/css"》
.Calendar {
font-family:Verdana;
font-size:9pt;
background-color:#EEE;
text-align:center;
width:198px;
height:158px;
padding:10px;
line-height:1.5em;
}
.Calendar a{
color:#0066CC;
}
.Calendar table{
width:100%;
border:0;
}
.Calendar table thead{color:#acacac;}
.Calendar table td {
font-size: 11px;
padding:1px;
}
#idCalendarPre{
cursor:pointer;
float:left;
padding-right:5px;
}
#idCalendarNext{
cursor:pointer;
float:right;
padding-right:5px;
}
#idCalendar td.onToday {
font-weight:bold;
color:#C60;
}
#idCalendar td.onSelect {
font-weight:bold;
}
《/style》
《script type="text/javascript"》
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
Object.extend = function(destination, source) {
for (var property in source) {
destination;
}
return destination;
}
var Calendar = Class.create();
Calendar.prototype = {
initialize: function(container, options) {
this.Container = $(container);//table结构容器
this.Days = ;//日期列表
this.SetOptions(options);
this.Year = this.options.Year;
this.Month = this.options.Month;
this.SelectDay = this.options.SelectDay ? new Date(this.options.SelectDay) : null;
this.onSelectDay = this.options.onSelectDay;
this.onToday = this.options.onToday;
this.onFinish = this.options.onFinish;
this.Draw();
},

SetOptions: function(options) {
this.options = {//默认值
Year: new Date().getFullYear(),
Month: new Date().getMonth() + 1,
SelectDay: null,//选择日期
onSelectDay: function(){},
onToday: function(){},
onFinish: function(){}
};
Object.extend(this.options, options || {});
},
//上月
PreMonth: function() {
//取得上月日期对象
var d = new Date(this.Year, this.Month - 2, 1);
//设置属性
this.Year = d.getFullYear();
this.Month = d.getMonth() + 1;
//重绘日历
this.Draw();
},
//下一个月
NextMonth: function() {
var d = new Date(this.Year, this.Month, 1);
this.Year = d.getFullYear();
this.Month = d.getMonth() + 1;
this.Draw();
},
Draw: function() {
//保存日期列表
var arr = ;
//用当月第一天在一周中的日期值作为当月离第一天的天数
for(var i = 1, firstDay = new Date(this.Year, this.Month - 1, 1).getDay(); i 《= firstDay; i++){ arr.push(" "); }
//用当月最后一天在一个月中的日期值作为当月的天数
for(var i = 1, monthDay = new Date(this.Year, this.Month, 0).getDate(); i 《= monthDay; i++){ arr.push(i); }
// /
var frag = document.createDocumentFragment();
this.Days = ;
while(arr.length 》 0){
//每个星期插入一个tr
var row = document.createElement("tr");
//星期
for(var i = 1; i 《= 7; i++){
var cell = document.createElement("td");
cell.innerHTML = " ";
if(arr.length 》 0){
var d = arr.shift();
cell.innerHTML = d;
if(d 》 0){
this.Days = cell;
//获取今日
if(this.IsSame(new Date(this.Year, this.Month - 1, d), new Date())){ this.onToday(cell); }
//判断用户是否作了选择
if(this.SelectDay && this.IsSame(new Date(this.Year, this.Month - 1, d), this.SelectDay)){ this.onSelectDay(cell); }
}
}
row.appendChild(cell);
}
frag.appendChild(row);
}
//此先清空然后再插入(ie的table不能用innerHTML)
while(this.Container.hasChildNodes()){ this.Container.removeChild(this.Container.firstChild); }
this.Container.appendChild(frag);
this.onFinish();
},
//判断是否同一日
IsSame: function(d1, d2) {
return (d1.getFullYear() == d2.getFullYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate());
}
};
《/script》
《/head》
《body》
《div class="Calendar"》
《div id="idCalendarPre"》《《《/div》
《div id="idCalendarNext"》》》《/div》
《span id="idCalendarYear"》2008《/span》年 《span id="idCalendarMonth"》8《/span》月
《table cellspacing="0"》
《thead》
《tr》
《td》日《/td》
《td》一《/td》
《td》二《/td》
《td》三《/td》
《td》四《/td》
《td》五《/td》
《td》六《/td》
《/tr》
《/thead》
《tbody id="idCalendar"》
《/tbody》
《/table》
《/div》
《script language="JavaScript"》
var cale = new Calendar("idCalendar", {
SelectDay: new Date().setDate(10),
onSelectDay: function(o){ o.className = "onSelect"; },
onToday: function(o){ o.className = "onToday"; },
onFinish: function(){
$("idCalendarYear").innerHTML = this.Year; $("idCalendarMonth").innerHTML = this.Month;
var flag = ;
for(var i = 0, len = flag.length; i 《 len; i++){
this.Days + "《/a》";
}
}
});
$("idCalendarPre").onclick = function(){ cale.PreMonth(); }
$("idCalendarNext").onclick = function(){ cale.NextMonth(); }
《/script》
《/body》
《/html》

JAVA日历代码,怎么做

import java.util.Date;
import java.util.Calendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.awt.Color;
import java.awt.Font;
import java.awt.Point;
import java.awt.Dimension;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingUtilities;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import javax.swing.border.LineBorder;
/**
* @company:NEUSOFT
* @Title:日期选择控件
* @Description:在原有基础上修改了以下内容:
* 1. 将容器由Frame改为了Dialog,以便在基于对话框的程序中也能够使用
* 2. 将最小日期由1980改为了1950,考虑到目前球员的出生日期可能早于1980年
* 3. 将初始显示格式设置为 yyyy年MM月dd日 格式,原有的小时去掉了,不适合于出生日期字段
*/
public class DateChooserJButton extends JButton {
private DateChooser dateChooser = null;
private String preLabel = "";
public DateChooserJButton() {
this(getNowDate());
}
public DateChooserJButton(SimpleDateFormat df, String dateString) {
this();
setText(df, dateString);
}
public DateChooserJButton(Date date) {
this("", date);
}
public DateChooserJButton(String preLabel, Date date) {
if (preLabel != null)
this.preLabel = preLabel;
setDate(date);
setBorder(null);
setCursor(new Cursor(Cursor.HAND_CURSOR));
addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (dateChooser == null)
dateChooser = new DateChooser();
Point p = getLocationOnScreen();
p.y = p.y + 30;
dateChooser.showDateChooser(p);
}
});
}
private static Date getNowDate() {
return Calendar.getInstance().getTime();
}
private static SimpleDateFormat getDefaultDateFormat() {
return new SimpleDateFormat("yyyy年MM月dd日");
}
// 覆盖父类的方法
public void setText(String s) {
Date date;
try {
date = getDefaultDateFormat().parse(s);
} catch (ParseException e) {
date = getNowDate();
}
setDate(date);
}
public void setText(SimpleDateFormat df, String s) {
Date date;
try {
date = df.parse(s);
} catch (ParseException e) {
date = getNowDate();
}
setDate(date);
}
public void setDate(Date date) {
super.setText(preLabel + getDefaultDateFormat().format(date));
}
public Date getDate() {
String dateString = this.getText().substring(preLabel.length());
try {
return getDefaultDateFormat().parse(dateString);
} catch (ParseException e) {
return getNowDate();
}
}

public String getDateString()
{
Date birth =getDate();
DateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
return formatDate.format(birth).toString();

//return this.getText().substring(preLabel.length());
}
// 覆盖父类的方法使之无效
//public void addActionListener(ActionListener listener) {
//}
private class DateChooser extends JPanel implements ActionListener,
ChangeListener {
int startYear = 1950; // 默认【最小】显示年份
int lastYear = 2050; // 默认【最大】显示年份
int width = 200; // 界面宽度
int height = 200; // 界面高度
Color backGroundColor = Color.gray; // 底色
// 月历表格配色----------------//
Color palletTableColor = Color.white; // 日历表底色
Color todayBackColor = Color.orange; // 今天背景色
Color weekFontColor = Color.blue; // 星期文字色
Color dateFontColor = Color.black; // 日期文字色
Color weekendFontColor = Color.red; // 周末文字色
// 控制条配色------------------//
Color controlLineColor = Color.pink; // 控制条底色
Color controlTextColor = Color.white; // 控制条标签文字色
Color rbFontColor = Color.white; // RoundBox文字色
Color rbBorderColor = Color.red; // RoundBox边框色
Color rbButtonColor = Color.pink; // RoundBox按钮色
Color rbBtFontColor = Color.red; // RoundBox按钮文字色
JDialog dialog;
JSpinner yearSpin;
JSpinner monthSpin;
JSpinner hourSpin;
JButton;
DateChooser() {
setLayout(new BorderLayout());
setBorder(new LineBorder(backGroundColor, 2));
setBackground(backGroundColor);
JPanel topYearAndMonth = createYearAndMonthPanal();
add(topYearAndMonth, BorderLayout.NORTH);
JPanel centerWeekAndDay = createWeekAndDayPanal();
add(centerWeekAndDay, BorderLayout.CENTER);
}
private JPanel createYearAndMonthPanal() {
Calendar c = getCalendar();
int currentYear = c.get(Calendar.YEAR);
int currentMonth = c.get(Calendar.MONTH) + 1;
int currentHour = c.get(Calendar.HOUR_OF_DAY);
JPanel result = new JPanel();
result.setLayout(new FlowLayout());
result.setBackground(controlLineColor);
yearSpin = new JSpinner(new SpinnerNumberModel(currentYear,
startYear, lastYear, 1));
yearSpin.setPreferredSize(new Dimension(48, 20));
yearSpin.setName("Year");
yearSpin.setEditor(new JSpinner.NumberEditor(yearSpin, "####"));
yearSpin.addChangeListener(this);
result.add(yearSpin);
JLabel yearLabel = new JLabel("年");
yearLabel.setForeground(controlTextColor);
result.add(yearLabel);
monthSpin = new JSpinner(new SpinnerNumberModel(currentMonth, 1,
12, 1));
monthSpin.setPreferredSize(new Dimension(35, 20));
monthSpin.setName("Month");
monthSpin.addChangeListener(this);
result.add(monthSpin);
JLabel monthLabel = new JLabel("月");
monthLabel.setForeground(controlTextColor);
result.add(monthLabel);
hourSpin = new JSpinner(new SpinnerNumberModel(currentHour, 0, 23,
1));
hourSpin.setPreferredSize(new Dimension(35, 20));
hourSpin.setName("Hour");
hourSpin.addChangeListener(this);
result.add(hourSpin);
JLabel hourLabel = new JLabel("时");
hourLabel.setForeground(controlTextColor);
result.add(hourLabel);
return result;
}
private JPanel createWeekAndDayPanal() {
String colname = { "日", "一", "二", "三", "四", "五", "六" };
JPanel result = new JPanel();
// 设置固定字体,以免调用环境改变影响界面美观
result.setFont(new Font("宋体", Font.PLAIN, 12));
result.setLayout(new GridLayout(7, 7));
result.setBackground(Color.white);
JLabel cell;
for (int i = 0; i 《 7; i++) {
cell = new JLabel(colname);
cell.setHorizontalAlignment(JLabel.RIGHT);
if (i == 0 || i == 6)
cell.setForeground(weekendFontColor);
else
cell.setForeground(weekFontColor);
result.add(cell);
}
int actionCommandId = 0;
for (int i = 0; i 《 6; i++)
for (int j = 0; j 《 7; j++) {
JButton numberButton = new JButton();
numberButton.setBorder(null);
numberButton.setHorizontalAlignment(SwingConstants.RIGHT);
numberButton.setActionCommand(String
.valueOf(actionCommandId));
numberButton.addActionListener(this);
numberButton.setBackground(palletTableColor);
numberButton.setForeground(dateFontColor);
if (j == 0 || j == 6)
numberButton.setForeground(weekendFontColor);
else
numberButton.setForeground(dateFontColor);
daysButton = numberButton;
result.add(numberButton);
actionCommandId++;
}
return result;
}
private JDialog createDialog(JDialog owner) {
JDialog result = new JDialog(owner, "日期时间选择", true);
result.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
result.getContentPane().add(this, BorderLayout.CENTER);
result.pack();
result.setSize(width, height);
return result;
}
void showDateChooser(Point position) {
JDialog owner = (JDialog) SwingUtilities
.getWindowAncestor(DateChooserJButton.this);
if (dialog == null || dialog.getOwner() != owner)
dialog = createDialog(owner);
dialog.setLocation(getAppropriateLocation(owner, position));
flushWeekAndDay();
dialog.setVisible(true);
}
Point getAppropriateLocation(JDialog owner, Point position) {
Point result = new Point(position);
Point p = owner.getLocation();
int offsetX = (position.x + width) - (p.x + owner.getWidth());
int offsetY = (position.y + height) - (p.y + owner.getHeight());
if (offsetX 》 0) {
result.x -= offsetX;
}
if (offsetY 》 0) {
result.y -= offsetY;
}
return result;
}
private Calendar getCalendar() {
Calendar result = Calendar.getInstance();
result.setTime(getDate());
return result;
}
private int getSelectedYear() {
return ((Integer) yearSpin.getValue()).intValue();
}
private int getSelectedMonth() {
return ((Integer) monthSpin.getValue()).intValue();
}
private int getSelectedHour() {
return ((Integer) hourSpin.getValue()).intValue();
}
private void dayColorUpdate(boolean isOldDay) {
Calendar c = getCalendar();
int day = c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH, 1);
int actionCommandId = day - 2 + c.get(Calendar.DAY_OF_WEEK);
int i = actionCommandId / 7;
int j = actionCommandId % 7;
if (isOldDay)
daysButton.setForeground(dateFontColor);
else
daysButton.setForeground(todayBackColor);
}
private void flushWeekAndDay() {
Calendar c = getCalendar();
c.set(Calendar.DAY_OF_MONTH, 1);
int maxDayNo = c.getActualMaximum(Calendar.DAY_OF_MONTH);
int dayNo = 2 - c.get(Calendar.DAY_OF_WEEK);
for (int i = 0; i 《 6; i++) {
for (int j = 0; j 《 7; j++) {
String s = "";
if (dayNo 》= 1 && dayNo 《= maxDayNo)
s = String.valueOf(dayNo);
daysButton.setText(s);
dayNo++;
}
}
dayColorUpdate(false);
}
public void stateChanged(ChangeEvent e) {
JSpinner source = (JSpinner) e.getSource();
Calendar c = getCalendar();
if (source.getName().equals("Hour")) {
c.set(Calendar.HOUR_OF_DAY, getSelectedHour());
setDate(c.getTime());
return;
}
dayColorUpdate(true);
if (source.getName().equals("Year"))
c.set(Calendar.YEAR, getSelectedYear());
else
// (source.getName().equals("Month"))
c.set(Calendar.MONTH, getSelectedMonth() - 1);
setDate(c.getTime());
flushWeekAndDay();
}
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
if (source.getText().length() == 0)
return;
dayColorUpdate(true);
source.setForeground(todayBackColor);
int newDay = Integer.parseInt(source.getText());
Calendar c = getCalendar();
c.set(Calendar.DAY_OF_MONTH, newDay);
setDate(c.getTime());
}
}
}
这是一个专门的选日期的类 ,你看看完了调用就行了

关于本次kwgt日历代码和日历代码的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

kwgt日历代码(日历代码)

本文编辑:admin

更多文章:


display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)

display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)

大家好,关于display flex 自动换行很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于overflow-y:hidden;overflow-x:auto;无效解决方法的知识点,相信应该可以解决大家的一些困惑和问题,如

2026年9月7日 11:00

小程序免认证源码(小程序源码都能干嘛)

小程序免认证源码(小程序源码都能干嘛)

本篇文章给大家谈谈小程序免认证源码,以及小程序源码都能干嘛对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年9月7日 10:50

timestamp without time zone(Postgresql中to_date()函数使用问题)

timestamp without time zone(Postgresql中to_date()函数使用问题)

各位老铁们好,相信很多人对timestamp without time zone都不是特别的了解,因此呢,今天就来为大家分享下关于timestamp without time zone以及Postgresql中to_date()函数使用问题

2026年9月7日 09:40

网页制作代码特效大全(谁知道网页打字机特效的代码)

网页制作代码特效大全(谁知道网页打字机特效的代码)

大家好,如果您还对网页制作代码特效大全不太了解,没有关系,今天就由本站为大家分享网页制作代码特效大全的知识,包括谁知道网页打字机特效的代码的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年9月7日 04:20

下载mysql的步骤(win10安装mysql的步骤和方法)

下载mysql的步骤(win10安装mysql的步骤和方法)

各位老铁们,大家好,今天由我来为大家分享下载mysql的步骤,以及win10安装mysql的步骤和方法的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年9月7日 04:10

webstorm怎么读(webstorm文件结构怎么打开)

webstorm怎么读(webstorm文件结构怎么打开)

本篇文章给大家谈谈webstorm怎么读,以及webstorm文件结构怎么打开对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月7日 03:50

nio新特性(Java NIO与IO的区别和比较)

nio新特性(Java NIO与IO的区别和比较)

各位老铁们好,相信很多人对nio新特性都不是特别的了解,因此呢,今天就来为大家分享下关于nio新特性以及Java NIO与IO的区别和比较的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年9月7日 03:40

checked in(check in和check out的区别)

checked in(check in和check out的区别)

本篇文章给大家谈谈checked in,以及check in和check out的区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月7日 01:20

java经典上机编程题(java上机题 请问这道题应该怎么写)

java经典上机编程题(java上机题 请问这道题应该怎么写)

大家好,java经典上机编程题相信很多的网友都不是很明白,包括java上机题 请问这道题应该怎么写也是一样,不过没有关系,接下来就来为大家分享关于java经典上机编程题和java上机题 请问这道题应该怎么写的一些知识点,大家可以关注收藏,免

2026年9月7日 01:10

影视剧中有哪些剧情颠覆了你的三观?金庸的武侠小说《白马啸西风》为什么没有被拍成电影或者电视剧

影视剧中有哪些剧情颠覆了你的三观?金庸的武侠小说《白马啸西风》为什么没有被拍成电影或者电视剧

各位老铁们,大家好,今天由我来为大家分享白马影视,以及影视剧中有哪些剧情颠覆了你的三观的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年9月7日 00:30

最近更新

福建建筑人才市场(就业协议书)
2026-09-07 12:30:14 浏览:0
display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)
2026-09-07 11:00:06 浏览:0
热门文章

yoga pro 14s carbon(yoga14s接口类型)
2026-07-03 17:50:01 浏览:5
domino directory(帮我翻译一下Recipient’s Domino Directory entry does not specify a valid Notes mail file)
2026-08-03 19:20:01 浏览:4
标签列表