黑马程序员技术交流社区
标题:
程序员秀恩爱,没点儿技术出门都不好意思和别人打招呼~
[打印本页]
作者:
zhangyibo
时间:
2015-10-23 22:22
标题:
程序员秀恩爱,没点儿技术出门都不好意思和别人打招呼~
我和我女票在一起6年多了,感情还算稳定,就是她总是会突然问我我们在一起多长时间了!
这我怎么记得住。。。。还好今天看了毕老师的java视频,讲Calendar那一段,于是我就有了想写个程序专门帮我算我俩在一起到底多少天了~
哈哈,还真捅咕出来了~放上来给大家瞧瞧,要是哪里写的不好,哪里可以优化代码的话还请大家多多指出哈~
ps:我俩在一起的时候是2009年的11月15日。。所以我的代码就没设置初始化时间,不过检验的时候倒是用了。。。还掰了半天手指头。。。。
代码如下:
import java.util.*;
import java.text.*;
class LoveDate
{
public static void main(String[] args)
{
Calendar c = Calendar.getInstance();//获取Calendar对象
//c.set(2016,4,17);//和第14-16行一起检验程序是否准确
int num = getNum(c);
sopln("今天是公元"+c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DATE)+"日");//打印现在的年月日
sopln("今天是我们在一起的第:"+num+"天~");//打印函数返回的结果
sopln("我爱你笨笨!么么哒~");
//c.set(2009,10,15);//可以自己设置一个初始化时间
//c.add(Calendar.DAY_OF_YEAR,num);//计算自己初始化后的时间的第num天后是哪一天
//printCalendar(c);
}
public static int getNum(Calendar c )
{
int ts = c.get(Calendar.DAY_OF_YEAR);//获取当前日期是一年的多少天
int year= c.get(Calendar.YEAR);//获取当前年份
//sopln(ts);
if(ts<319)//2009年的11月15日是那一年的第319天,所以用当前天数去和那一天比较
{
return (year-2009-1)*365+ts+46+1;//后面的注释真不知道怎么描述。。。。
}
else if(ts==319)
return (year-2009)*365;
else
return (year-2009)*365+ts-319;
}
public static void printCalendar(Calendar c)
{
String [] mons = {"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"};
String [] weeks= {"","星期1", "星期2", "星期3", "星期4", "星期5", "星期6", "星期日"};
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.WEEK_OF_MONTH);
sop(c.get(Calendar.YEAR)+"年");
sop(mons[index]);
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
sop(weeks[index1+1]);
}
public static void sop(Object obj)
{
System.out.print(obj);
}
public static void sopln(Object obj)
{
System.out.println(obj);
}
}
复制代码
作者:
奔跑的小红帽
时间:
2015-10-23 22:43
赞一个,。。。
作者:
zhangyibo
时间:
2015-10-23 23:28
看来没人感兴趣啊。。。
作者:
dai2686779
时间:
2015-10-23 23:38
66666666666666
作者:
史世锋
时间:
2015-10-24 09:47
对单身狗造成一万点伤害
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2