import javautil;
import javatext;
//1由用户输入日期
String input = "2008-10-12"; //这个客户端输入
//把用户输入的日期转成 java 日期类
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date d = dfparse(input);
//输出结果
Calendar cal = CalendargetInstance();
calsetTime(d);
int day = calget(DAY_OF_MONTH); //日
int month = calget(MONTH) + 1; //月(从0开始, 一般加1,实际是否 Calendar 里面常量的值决定的)
int year = calget(YEAR ); //年
import javautilCalendar;
import javautilScanner;
public class CalendarX {
static Calendar c=CalendargetInstance();
static String[] wd={"SAT","SUN","MON","TUE","WED","THU","FRI",};
public static void main(String[] args) {
Scanner sn = new Scanner(Systemin);
Systemoutprint("Input year:");
int year=snnextInt();
Systemoutprint("Input month:");
int month=snnextInt();
printCalendar(year,month);
}
static void printCalendar(int y,int m){
cset(CalendarYEAR, y);
cset(CalendarMONTH, m-1);
cset(CalendarDATE, 1);
int fd=cget(CalendarDAY_OF_WEEK);
int md=cgetActualMaximum(CalendarDATE);
for(int i=0; i<7; i++)Systemoutprintf("%5s",wd[i]);Systemoutprintln();
for(int i=0; i<fd; i++)Systemoutprintf("%5s","");
for(int i=0; i<md; i++){
Systemoutprintf("%5s",i+1);
if(++fd%7==0)Systemoutprintln();
}
}
}
花了半个小时写了一个望采纳给好评。
import javautilScanner;
public class PrintCalendar {
/ Main method /
public static void main(String[] args) {
Scanner input = new Scanner(Systemin);
// Prompt the user to enter year
Systemoutprint("Enter full year (eg, 2001): ");
int year = inputnextInt();
// Prompt the user to enter month
Systemoutprint("Enter month in number between 1 and 12: ");
int month = inputnextInt();
// Print calendar for the month of the year
printMonth(year, month);
}
/ Print the calendar for a month in a year /
public static void printMonth(int year, int month) {
// Print the headings of the calendar
printMonthTitle(year, month);
// Print the body of the calendar
printMonthBody(year, month);
}
/ Print the month title, eg, May, 1999 /
public static void printMonthTitle(int year, int month) {
Systemoutprintln(" " + getMonthName(month)
+ " " + year);
Systemoutprintln("-----------------------------");
Systemoutprintln(" Sun Mon Tue Wed Thu Fri Sat");
}
/ Get the English name for the month /
public static String getMonthName(int month) {
String monthName = "";
switch (month) {
case 1: monthName = "January"; break;
case 2: monthName = "February"; break;
case 3: monthName = "March"; break;
case 4: monthName = "April"; break;
case 5: monthName = "May"; break;
case 6: monthName = "June"; break;
case 7: monthName = "July"; break;
case 8: monthName = "August"; break;
case 9: monthName = "September"; break;
case 10: monthName = "October"; break;
case 11: monthName = "November"; break;
case 12: monthName = "December";
}
return monthName;
}
/ Print month body /
public static void printMonthBody(int year, int month) {
// Get start day of the week for the first date in the month
int startDay = getStartDay(year, month);
// Get number of days in the month
int numberOfDaysInMonth = getNumberOfDaysInMonth(year, month);
// Pad space before the first day of the month
int i = 0;
for (i = 0; i < startDay; i++)
Systemoutprint(" ");
for (i = 1; i <= numberOfDaysInMonth; i++) {
Systemoutprintf("%4d", i);
if ((i + startDay) % 7 == 0)
Systemoutprintln();
}
Systemoutprintln();
}
/ Get the start day of month/1/year /
public static int getStartDay(int year, int month) {
final int START_DAY_FOR_JAN_1_1800 = 3;
// Get total number of days from 1/1/1800 to month/1/year
int totalNumberOfDays = getTotalNumberOfDays(year, month);
// Return the start day for month/1/year
return (totalNumberOfDays + START_DAY_FOR_JAN_1_1800) % 7;
}
/ Get the total number of days since January 1, 1800 /
public static int getTotalNumberOfDays(int year, int month) {
int total = 0;
// Get the total days from 1800 to 1/1/year
for (int i = 1800; i < year; i++)
if (isLeapYear(i))
total = total + 366;
else
total = total + 365;
// Add days from Jan to the month prior to the calendar month
for (int i = 1; i < month; i++)
total = total + getNumberOfDaysInMonth(year, i);
return total;
}
/ Get the number of days in a month /
public static int getNumberOfDaysInMonth(int year, int month) {
if (month == 1 || month == 3 || month == 5 || month == 7 ||
month == 8 || month == 10 || month == 12)
return 31;
if (month == 4 || month == 6 || month == 9 || month == 11)
return 30;
if (month == 2) return isLeapYear(year) 29 : 28;
return 0; // If month is incorrect
}
/ Determine if it is a leap year /
public static boolean isLeapYear(int year) {
return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
}
}
import javautilScanner; public class Wan{ public static void main(String[] args){ Scanner name = new Scanner(Systemin); Systemoutprint("请输入要查询的年份:"); int year = namenextInt(); Systemoutprint("请输入该年的月份"); int month = namenextInt(); } //累加 该年至输入的月份 天数 //比如 输入2009年的 3月分 // 那就累加 2009年的1月至 3月1号的总天数 public void sumDay(int year,int month){ int day = 0; int sumDay = 0; for(int i = 1;i<=month;i++){ switch(i){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 2: if(year % 4 == 0 || year % 400 == 0 && year %100!=0){ day = 29; }else{ day = 28; } break; default: day = 30; } //最后一个月份不要累加 因为我们只是要算到该月的一号就可以了 if(i < month){ sumDay += day; } } //累加 2000年到该年的一月一号天数 for(int i = 2000;i<year;i++){ if( i % 4 == 0 || i %400== 0 && i % 100 != 0){ sumDay += 366; }else{ sumDay += 365; } } //求该月一号为星期几 int week = sumDay % 7 +1; if(week == 7){ week = 0; } } public void fomatDate(int week,int day){ int g = 0; for(int i = 0;i<week;i++){ Systemoutprint("\t"); } for(int i = 1;i<=day;i++){ Systemoutprint(i+"\t"); g = week + i; if(g % 7 == 0){ Systemoutprintln(); } } } } 给点分哈 写得好累
/
获取指定月份的日历信息
@param year
年
@param month
月
@return
/
public static int[] getMonthCalendar(int year, int month) {
Calendar cl = CalendargetInstance();
clset(year, month, 1);
int firstDay = clgetMinimum(CalendarDAY_OF_MONTH);
int lastDay = clgetMaximum(CalendarDAY_OF_MONTH);
int[] day = new int[lastDay];
for (int i = 0; i < lastDay; i++) {
day[i] = i + firstDay;
}
return day;
}
以上就是关于java如何获取某一天的日期全部的内容,包括:java如何获取某一天的日期、用JAVA帮忙编写一个日历查询系统,非常感谢~!、Java日历查询程序(万年历)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)