请问java的Calendar这个日期类怎么用,有个小程序,请看!

publicstaticvoidmain(Stringargs[]){Calendarcalen=Calendar.getInstance();calen.set(200... public static void main(String args[]){
Calendar calen = Calendar.getInstance();
calen.set(2008,05,30);
System.out.println(calen.get(calen.DAY_OF_WEEK));
}

PS:不知道为什么,2008年5月30日是星期五,但是却打印了数字2出来,
到底是为什么呢??
展开
 我来答
xpenxpen
2008-05-30 · TA获得超过402个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:232万
展开全部
(1)calen.set(2008,05,30);
表示的是2008年6月30日。请注意Java的月份是从0月到11月的。
(2)calen.DAY_OF_WEEK
指示一个星期中的某天。该字段可取的值为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY。分别从1到7.
所以2008年6月30日是星期一,返回2没错。

具体的看看Javadoc就可以了。Javadoc是学习的好宝贝。
yanke1014
2008-05-30 · 超过25用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:72.8万
展开全部
我的笔记希望对你有所帮助

**********************
//String转时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String a = "1988-2-5 5:12:20";
Date date = dateFormat.parse(a);
String b = dateFormat.format(date);
//b的结果为1988-02-05 05:12:20

=====================================

要判断两个日期
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String a = "1988-2-5 5:12:20";
Date date = dateFormat.parse(a);
Date date2 = 另一个日期
boolean flag = date.before(date2);//判断date是不是在date2的前面,就是date < date2的意思
//b的结果为1988-02-05 05:12:20,多查jdk就好了
******************************

1.把时间类型转String
public class FormatDateTime {

public static String toLongDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分

ss秒 E ");
return myFmt.format(dt);
}

public static String toShortDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy年MM月dd日 HH时mm分");

return myFmt.format(dt);
}

public static String toLongTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("HH mm ss SSSS");
return myFmt.format(dt);
}
public static String toShortTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd HH:mm");
return myFmt.format(dt);
}

public static void main(String[] args) {

Date now=new Date();

System.out.println(FormatDateTime.toLongDateString(now));
System.out.println(FormatDateTime.toShortDateString(now));
System.out.println(FormatDateTime.toLongTimeString(now));
System.out.println(FormatDateTime.toShortTimeString(now));
}

}

____________________________________________________
2.把String类型转时间

我的想法是:这个String类型应该是看上去可以格式上像时间的。只是类型不是是而已


我的意思是:
String str ="KKKKKKKKKKKK";
String str1 = "2001.12.12-08.23.21";
两个都是时间类型,但是第二个看上去可以转,只要设置好你想要的时间模板。
比如模板:yyyy.MM.dd-HH.mm.ss
然后类似:
public class TestDate {
public static void main(String[] args) {
String dStr = "2001.12.12-08.23.21";
Date d = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss");
try {
d = sdf.parse(dStr);
} catch (ParseException pe) {
System.out.println(pe.getMessage());
}
System.out.println(d);
System.out.println(d.getTime());
}
}

转换完后String 类型的2001.12.12-08.23.21
就变成时间类型的2001.12.12-08.23.21

**************************
//java时间转sql时间

java.sql.Date sqlDate=new java.sql.Date(new java.util.Date().getTime());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旋风小翔
2008-05-30 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:107万
展开全部
Calendar类中的DAY_OF_WEEK 这个方法是以这天在一周中的第几天返回的,象你的这种情况应该是1988-2-5这天返回了2给你,说明1988-2-5这天是一周中的星期2.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式