当前位置:首页 > 代码 > 正文

calendarutil源代码(CALENDAR)

admin 发布:2022-12-19 11:38 98


本篇文章给大家谈谈calendarutil源代码,以及CALENDAR对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java万年历源代码是多少?

package org.java.test;

import java.util.Scanner;

public class CalendarTest{

public static void main(String[] args) {

System.out.println("欢 迎 使 用 万 年 历");

Scanner input = new Scanner(System.in);

System.out.print("\n请选择年份: ");

int year = input.nextInt();

System.out.print("\n请选择月份: ");

int month = input.nextInt();

System.out.println();

int days = 0; // 存储当月的天数

boolean isRn;

/* 判断是否是闰年 */

if (year % 4 == 0 !(year % 100 == 0) || year % 400 == 0) { // 判断是否为闰年

isRn = true; // 闰年

} else {

isRn = false;// 平年

}

/* 计算输入的年份之前的天数 */

int totalDays = 0;

for (int i = 1900; i year; i++) {

/* 判断闰年或平年,并进行天数累加 */

if (i % 4 == 0 !(i % 100 == 0) || i % 400 == 0) { // 判断是否为闰年

totalDays = totalDays + 366; // 闰年366天

} else {

totalDays = totalDays + 365; // 平年365天

}

}

/* 计算输入月份之前的天数 */

int beforeDays = 0;

for (int i = 1; i = month; i++) {

switch (i) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

days = 31;

break;

case 2:

if (isRn) {

days = 29;

} else {

days = 28;

}

break;

default:

days = 30;

break;

}

if (i month) {

beforeDays = beforeDays + days;

}

}

totalDays = totalDays + beforeDays; // 距离1900年1月1日的天数

/* 计算星期几 */

int firstDayOfMonth; // 存储当月第一天是星期几:星期日为0,星期一~星期六为1~6

int temp = 1 + totalDays % 7; // 从1900年1月1日推算

if (temp == 7) { // 求当月第一天

firstDayOfMonth = 0; // 周日

} else {

firstDayOfMonth = temp;

}

/* 输出日历 */

System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");

for (int nullNo = 0; nullNo firstDayOfMonth; nullNo++) {

System.out.print("\t"); // 输出空格

}

for (int i = 1; i = days; i++) {

System.out.print(i + "\t");

if ((totalDays + i-1) % 7 == 5) { // 如果当天为周六,输出换行

System.out.println();

}

}

}

}

这是你要的万年历吗?

求C语言编日历源代码的详细说明

/* 稍微改了下对齐格式,加了注释 */

/*

1、闰年的算法:

如果某年能被4整除但不能被100整除,

或者能被400整除,

则该年是闰年.

用表达式表示就是

(year %4 == 0 year%100 != 0) || (year%400 == 0)

2、计算某一天是星期几:

已知1900年的1月1号为星期一,

然后就可以用某一天和1900年的1月1号相差的天数对7取余来求星期,

本题是用的公元1年的1月1号作为基准

*/

#include stdio.h

#includeconio.h

#includestdlib.h

int IsLeapYear(int); //函数定义

void main()

{

int i;

int day;

int year;

int temp;

int temp_i;

long int Year_days = 0;

int Year_Start = 1;

int Per_Year_Days;

int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31,29};

printf("Please enter the year: ");

scanf("%d",year); //输入年份

while(Year_Start year) //从公元1年开始执行while循环, 该年的一月一号为星期一

{

if( IsLeapYear( Year_Start ) )

Per_Year_Days = 366; //如果是闰年, 则一年有366天

else

Per_Year_Days = 365; //如果不是闰年, 则一年有365天

Year_days = Year_days + Per_Year_Days; //Year_days为从公元1年到输入年份的前一年的天数的总和

Year_Start++;

}

for( temp = 1; temp =12; temp++ ) //temp从1到12, 对应一年内12个月

{

switch( temp ) //用switch语句将temp和12个月对应起来

{

case 1:

printf(" January(%d)\n",year); //一月

break;

case 2:

printf(" February(%d)\n",year); //二月

break;

case 3:

printf(" March(%d)\n",year); //三月

break;

case 4:

printf(" April(%d)\n",year); //四月

break;

case 5:

printf(" May(%d)\n",year); //五月

break;

case 6:

printf(" June(%d)\n",year); //六月

break;

case 7:

printf(" July(%d)\n",year); //七月

break;

case 8:

printf(" August(%d)\n",year); //八月

break;

case 9:

printf(" September(%d)\n",year); //九月

break;

case 10:

printf(" October(%d)\n",year); //十月

break;

case 11:

printf(" November(%d)\n",year); //十一月

break;

case 12:

printf(" December(%d)\n",year); //十二月

break;

}

i = Year_days % 7; //每个星期有7天, 故用每年的天数对7取余

printf("Mon\tTue\tWed\tThu\tFri\tSat\tSun\n");

if( i != 0 ) //如果余数不为零

for( temp_i = 0; temp_i i; temp_i++)

printf("\t"); //则打印空格(这里用\t代替空格, 更加美观), 空格数为i

day = 1; //初始化day为1, 为下面的while循环做准备

if( IsLeapYear(year) temp == 2) //如果输入的年份是闰年, 并且月份为2

while( day = month_day[12] ) //day为一循环变量, 取值为1-365(闰年的话为1-366)

{

if( day 1 ) //如果天数大于一

if( Year_days % 7 == 0 ) //如果是星期日, 则换行

printf("\n");

if( day = 10 )

printf("%d\t",day); //打印天数+空格

else

printf("%d\t",day);

Year_days++;

day++;

}

else //如果不满足"输入的年份是闰年, 并且月份为2"

while (day = month_day[temp-1])

{

if( day 1 )

if( Year_days % 7 == 0 )

printf("\n");

if( day =10 )

printf("%d\t",day);

else

printf("%d\t",day);

Year_days++;

day++;

}

printf("\n");

if( getch() == 'q' ) //如果输入为q, 则退出程序

exit(0);

}

getch(); //每按一次键, 打印一个月份

}

int IsLeapYear( int year )

{

//判断是否是闰年, 是则返回1, 否则返回0

if ((year %4 == 0) (year % 100 != 0) ||

(year % 400 == 0) )

return 1;

else

return 0;

}

java万年历源代码

直接输入你先要的就可以了 当然了现在一般都不用这么麻烦的 现在有全面的一个简写版本可以直接用 谢谢

java.util.Calendar是不是单例模式

calendar不是单例模式。通过new出两个对象 来比较它们是否相等 最后得出的结果为false。即不是同一片内存区域。所以不是单例模式,如下测试代码:

package test;

import java.util.Calendar;

public class LeakTest {

    /**

     * @param args

     */

    public static void main(String[] args) {

        Calendar c1 = Calendar.getInstance();//新建一个calendar类

        Calendar c2 = Calendar.getInstance();//新建第二个calendar类

        Runtime run1 = Runtime.getRuntime();

        Runtime run2 = Runtime.getRuntime();

        System.out.println("c1.equals(c2) is " + c1.equals(c2));

        System.out.println("c1 == c2 is " + (c1 == c2));

        System.out.println("run1.equals(run2) is " + run1.equals(run2));

        System.out.println("run1 == run2 is " + (run1 == run2));

    }

    

}

运行结果如下:

求Java 日历的小程序的源代码

也不知道你具体需求是什么,以前改过一个日历程序,一共四个java类,放在同一个包里。经测试可以运行。

//Start.java

import java.awt.*;

import javax.swing.*;

class Start{

public static void main(String [] args){

DateFrame frame=new DateFrame();

frame.setLocationRelativeTo(frame);

frame.setResizable(false);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

//DateInfo.java

import java.util.*;

public class DateInfo{

private int mYear, mMonth;

private int mDayOfMonth, mFristWeek;

public DateInfo(int year, int month) throws DateException{

mYear = year;

if (month 0 || month 12){

throw (new DateException());

}

mMonth = month;

mDayOfMonth = getDayOfMonth(mYear, mMonth);

mFristWeek = getFristWeek(mYear, mMonth);

}

private int getDayOfMonth(int year, int month){

int[][] ary = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},

{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};

return (ary[isLeapYear(year)][month]);

}

private int isLeapYear(int year){

if (year % 4 == 0 year % 100 != 0 ||year % 400 == 0){

return (1);

}

else{

return (0);

}

}

private int getFristWeek(int year, int month){

java.util.Calendar cal = Calendar.getInstance();

cal.set(year, month - 1, 1);

return (cal.get(Calendar.DAY_OF_WEEK) - 1);

}

public String toString(){

String str;

str = "\t\t" + mYear + "年" + mMonth + "月\n";

str += "日\t一\t二\t三\t四\t五\t六\n";

int i;

for (i = 1; i = mFristWeek; i++){

str += " \t";

}

for (int j = 1; j = mDayOfMonth; j++, i++){

str +=j+"\t" ;

if (i % 7 == 0){

str += "\n";

}

}

return (str);

}

}

//DateFrame.java

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.Calendar;

class DateFrame extends JFrame implements Runnable{

Calendar date=Calendar.getInstance();

String[] str={"1","2","3","4","5","6","7","8","9","10","11","12"};

JLabel lblYear=new JLabel("年 ");

JLabel lblMonth=new JLabel("月 ");

JLabel lblDate=new JLabel("现在的时间是:");

JLabel lblShowDate=new JLabel();

// javax.swing.JTextField trxt =new JTextField(10);

// trxt.setHorizontalAlignment(JTextField.RIGHT); //设置文本从右边输入

JComboBox cboMonth=new JComboBox(str);

JComboBox cboYear=new JComboBox();

JTextArea txaShow=new JTextArea();

JPanel pnlNorth=new JPanel();

JPanel pnlSOUTH=new JPanel();

JButton btnShow=new JButton("显示");

JButton btnClose=new JButton("关闭");

JScrollPane jsp=new JScrollPane(txaShow);

Container c=this.getContentPane();

public DateFrame(){

Thread thread=new Thread(this);

thread.start();

this.setTitle("玩玩日历拉!!!");

this.setSize(300,260);

for (int i = 1990; i=2025; i++) {

cboYear.addItem(""+i);

}

cboYear.setSelectedItem(""+(date.get(Calendar.YEAR)));

cboMonth.setSelectedItem(""+(date.get(Calendar.MONTH)+1));

pnlNorth.add(cboYear);

txaShow.setTabSize(4); //设置tab键的距离

txaShow.setForeground(Color.GREEN);

pnlNorth.add(lblYear);

pnlNorth.add(cboMonth);

pnlNorth.add(lblMonth);

pnlNorth.add(lblDate);

pnlNorth.add(lblShowDate);

c.add(pnlNorth,BorderLayout.NORTH);

c.add(jsp);

pnlSOUTH.add(btnShow);

pnlSOUTH.add(btnClose);

c.add(pnlSOUTH,BorderLayout.SOUTH);

btnShow.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int year=Integer.parseInt((String)cboYear.getSelectedItem());

int month=Integer.parseInt((String)cboMonth.getSelectedItem());

try {

DateInfo date=new DateInfo(year,month);

txaShow.setText(""+date);

}

catch (DateException ex) {

ex.printStackTrace();

}

}

});

btnClose.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

System.exit(0);

}

});

}

public void run(){

try {

while(true){

Thread.sleep(1000);

int hour=date.get(Calendar.HOUR);

int minute=date.get(Calendar.MINUTE);

int second=date.get(Calendar.SECOND);

String str=hour+":"+minute+":"+second;

lblShowDate.setText(str);

//this.repaint();

}

}

catch (Exception ex) {

ex.printStackTrace();

}

}

}

//DateException.java

public class DateException extends Exception{

public DateException(){

super("日期数据不合法.");

}

}

关于calendarutil源代码和CALENDAR的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/7516.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载