import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class sd { public static void main(String[] args) {
int year, month, today, day;
// 年月日 int manydays = 1;// 今天是今年的第几天,今年的1月1日是今年的第一天
// TODO Auto-generated method stub
// 1 // 定义时间格式,如:2011-08-25-22-43
SimpleDateFormat bartDateFormat = new SimpleDateFormat( "yyyy-MM-dd-HH-mm");
Date date = new Date();
// 取现在时间
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 设置时间
year = cal.get(Calendar.YEAR);
// 取年份
month = cal.get(Calendar.MONTH) + 1;
// 取月份
today = cal.get(Calendar.DAY_OF_MONTH);
// 按照规定格式输出当前时间
System.out.println(bartDateFormat.format(date));
// 2011-08-25-22-43
System.out.println(year + "-" + month + "-" + next(month, year));
for (int i = 1; i <= month; i++)
{
day = next(i, year);
// 本月一共几天
System.out.println(day + "nichi " + i + " kongetsu no goukei");
// 循环条件,j<=每月的天数,如果在i==month的情况下j>=today也不循环
for (int j = 1;
j <= day && !(i == month && j >= today);
j++; manydays++;
System.out.println("manydays=" + manydays);
}
System.out.println("houhou1: kyo ha kotoshi no " + manydays + " nichi medesu");
/* * """"""""""""""""""""' ""方法二 """"""""""""""""""""" */
cal.set(2011, 0, 1);
// 设置今年的1月1日
long timeOne = cal.getTimeInMillis(); cal.setTime(date);
// 将日历翻到1945年八月十五日,7表示八月
System.out.println( long timeTwo = cal.getTimeInMillis();
long daysapart = (timeTwo - timeOne) / (1000 * 60 * 60 * 24) + 1;
// 二者时间相隔天数,第几天要加1
System.out.println("houhou2: kyo ha kotoshi no " + daysapart + " nichi medesu");
cal.set(1931, 8, 18);
// 将日历翻到1931年九月十八日,8表示九月
timeOne = cal.getTimeInMillis();
cal.set(1945, 7, 15);
// 将日历翻到1945年八月十五日,7表示八月
timeTwo = cal.getTimeInMillis();
daysapart = (timeTwo - timeOne) / (1000 * 60 * 60 * 24);
// 二者时间相隔天数
System.out.println("1945年8月15日和1931年9月18日相隔" + daysapart + "天");
}
/* * """""""""""""""""" 让enum类的变量指向下一个元素****************** */
public static int next(int month, int year)
{
int kyo = 0; switch (month) {
case 1: kyo = 31; break;
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) kyo = 29;
else kyo = 28; break;
case 3: kyo = 31; break;
case 4: kyo = 30; break;
case 5: kyo = 31; break;
case 6: kyo = 30; break;
case 7: kyo = 31; break;
case 8: kyo = 31; break;
case 9: kyo = 30; break;
case 10: kyo = 31; break;
case 11: kyo = 30; break;
case 12: kyo = 31;
break;
} return kyo;
}}
} |