如果告诉你今天是2005-12-25日,问你今天是本年的第几天?
能行嘛 标上注释~拜托
要有高级算法的 不要简单的那种!!
拜托了 让小弟号号学习学习!
顺便问一下 有过自学经验的说下 自学到JAVA的那个知识点 而且编个什么程序 可以出去找到工作~~全市小弟疑问 高手来说下 拜托~
能行嘛 标上注释~拜托
要有高级算法的 不要简单的那种!!
拜托了 让小弟号号学习学习!
顺便问一下 有过自学经验的说下 自学到JAVA的那个知识点 而且编个什么程序 可以出去找到工作~~全市小弟疑问 高手来说下 拜托~
Calendar类已经帮你做好了
calendar.set(Calendar.YEAR,2005,Calendar.Month,12,Calendar.Date,25);SimpleDateFormat sdf= new DateFormat("D");
System.out.println(sdf.format(calendar.getTime()));/*也可以直接使用new DateFormat().parse(String text)来把字符串转换成一个Date对象,再来获得12.25是一年中的第几天*/
大体是这样的,你可以去看看java.util.包
public static void main(String[] args) {
// 利用Calendar打印出当前时间为本年的第几天
System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_YEAR)); // 给定日期 利用Calendar打印出给定时间为本年的第几天。注:Calendar.DECEMBER=11
Calendar c = Calendar.getInstance();
// Calendar.DECEMBER=11 ?
c.set(2005, Calendar.DECEMBER, 25);
System.out.println(c.get(Calendar.DAY_OF_YEAR));
}}是静安寺不是道明寺,是源程序不是言承旭;是在静安寺写源程序,不是在流星花园看F4。
??
搞笑的~
Calendar 有这样构造函数么是静安寺不是道明寺,是源程序不是言承旭;是在静安寺写源程序,不是在流星花园看F4。
Calendar calendar=new Calendar();
calendar.set(Calendar.YEAR,2005,Calendar.Month,12,Calendar.Date,25);/*SimpleDateFormat sdf= new SimpleDateFormat("D");
System.out.println(sdf.format(calendar.getTime()));
*/
System.out.println(Calendar.DAY_YEAR);
/*也可以直接使用new DateFormat().parse(String text)来把字符串转换成一个Date对象,再来获得12.25是一年中的第几天*/
大体是这样的,你可以去看看java.util.包
protected Calendar()
{ this(TimeZone.getDefaultRef(), Locale.getDefault());
sharedZone = true;
}看修饰符 protected 受保护的
非继承类 和同包 你可以用构造函数么??
请指教!是静安寺不是道明寺,是源程序不是言承旭;是在静安寺写源程序,不是在流星花园看F4。
import java.util.*;
import java.text.SimpleDateFormat;
public class Test
{
public static void main(String[] args)
{
int day,month,year,sum,leap;
String szDate = null;
if (args[0] != null)
{
szDate = args[0];
}
else
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
szDate = sdf.format(new Date());
}
year = Integer.parseInt(szDate.substring(0,4));
month = Integer.parseInt(szDate.substring(5,7));
day = Integer.parseInt(szDate.substring(8,10));
sum = 0;
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:System.out.println("日期错误");break;
}
sum=sum+day;/*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
System.out.println("这是"+year+"年的第"+sum+"天");
}
}
运行如下:
F:\>javac Test.javaF:\>java Test 2005-08-11
2005-08-11
年2005
月8
日11
这是2005年的第223天PS:可以添加NumberFormatException 捕获非格式日期异常.
如果我考虑的话 就会 把 date 相减 获得 毫秒差 然后 除一天的毫秒数。
相形之下 还是你的 好,效率也高 乘除法效率很低的! 是静安寺不是道明寺,是源程序不是言承旭;是在静安寺写源程序,不是在流星花园看F4。