请问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出来,
到底是为什么呢?? 展开
Calendar calen = Calendar.getInstance();
calen.set(2008,05,30);
System.out.println(calen.get(calen.DAY_OF_WEEK));
}
PS:不知道为什么,2008年5月30日是星期五,但是却打印了数字2出来,
到底是为什么呢?? 展开
3个回答
展开全部
(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是学习的好宝贝。
表示的是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是学习的好宝贝。
展开全部
我的笔记希望对你有所帮助
**********************
//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());
**********************
//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());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Calendar类中的DAY_OF_WEEK 这个方法是以这天在一周中的第几天返回的,象你的这种情况应该是1988-2-5这天返回了2给你,说明1988-2-5这天是一周中的星期2.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询