Java知识点总结(常用类-Date类)
@(Java知识点总结)[Java, Java常用类]
[toc]
在标准Java类库中包含一个Date类。它的对象表示一个特定的瞬间,精确到毫秒。
Java中时间的表示说白了也是数字,是从:标准纪元1970.1.1.0点开始到某个时刻的毫秒数,类型是long。
DateFormat和SimpleDateFormat
完成字符串和时间对象的转化
format、parse
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,属于本月的第W周" ).format(new Date());
System.out.println(date); //2013-02-27 15:29:18,属于本月的第5周
try {
Date parse = new SimpleDateFormat("yyyy,MM,dd").parse("2011,7,7");
System.out.println(parse); //Thu Jul 07 00:00:00 CST 2011
} catch (ParseException e) {
e.printStackTrace();
}
简单的日期格式的格式代码
Calendar日历类
GregorianCalendar 是Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
注意:
-月份:一月是0,二月是1,以此类推
-星期:周日是1,周一是2,以此类推
GregorianCalendar c = new GregorianCalendar();
//c.set(2014, 1, 23, 17, 21);
//c.set(Calendar.MONTH, 1);
c.set(2014, Calendar.FEBRUARY, 23, 17, 21);
System.out.println(c.getTime());
c.add(Calendar.YEAR, -20); //往前推20年
System.out.println(c.getTime());
可视化日历
public static void myCalendar() {
//String date = "2017/02/27";
System.out.print("请输入日期:" );
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
System.out.println("日\t一\t二\t三\t四\t五\t六" );
try {
Date date = new SimpleDateFormat("yyyy/MM/dd").parse(input);
GregorianCalendar c = new GregorianCalendar();
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, 1);
int week = c.get(Calendar.DAY_OF_WEEK );
int j = 0;
if (week >1) {
for (int i = 0; i < week-1; i++) {
System.out.print("\t");
j++;
}
}
for (int i = 1; i <= c.getActualMaximum(Calendar.DATE); i++) {
if (day==i) {
System.out.print("*" );
}
System.out.print(i+"\t");
j++;
if (j%7==0) {
System.out.println();
}
}
} catch (ParseException e) {
e.printStackTrace();
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。