Date类
用 long 类型的变量来表示时间,从基准时间往前几亿年,往后几亿年都能表示。 如果想获得现在时刻的“时刻数值”,可以使用: long now = System.currentTimeMillis(); 这个“时刻数值”是所有时间类的核心值,年月日都是根据这个“数值”计算出来的。 currentTimeMillis() d2.getTime()获取当前时间
package com. ssc. manyclass ;
import java. util. Date ;
public class Time {
public static void main ( String [ ] args) {
long a = Long . MAX_VALUE/ ( 1000L * 3600 * 24 * 365 ) ;
System . out. println ( a) ;
long nowtime = System . currentTimeMillis ( ) ;
System . out. println ( nowtime) ;
Date d1 = new Date ( ) ;
System . out. println ( d1) ;
System . out. println ( d1. getTime ( ) ) ;
Date d2 = new Date ( 1000L * 3600 * 24 * 365 ) ;
System . out. println ( d2) ;
System . out. println ( d2. getTime ( ) ) ;
}
}
DateFormat类 SimpleDateFormat类
作用
把时间对象转换为指定的格式字符串 。反之,把指定格式的字符串转换成时间对象 是个抽象类,一般使用它的子类SimpleDateFormat类来实现
把时间对象转为字符串
字符串转为时间对象
package com. ssc. manyclass ;
import java. text. DateFormat ;
import java. text. ParseException ;
import java. text. SimpleDateFormat ;
import java. util. Date ;
public class Date_Format {
public static void main ( String [ ] args) throws ParseException {
SimpleDateFormat df = new SimpleDateFormat ( "yyyy年MM月dd日 hh时mm分ss秒" ) ;
Date d1 = df. parse ( "1971年3月10日 10时40分52秒" ) ;
System . out. println ( d1. getTime ( ) ) ;
Date d2 = new Date ( 100L * 3600 * 23 ) ;
String str = df. format ( d2) ;
System . out. println ( str) ;
DateFormat d3 = new SimpleDateFormat ( "今年第w周" ) ;
System . out. println ( d3. format ( d2) ) ;
}
}
Calendar日历类
简介
Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。 GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。 注意月份的表示,一月是 0,二月是 1,以此类推,12 月是 11
作用
提供相关的日期计算相关功能,年月日时分秒的展示和计算;
package com. ssc. manyclass ;
import java. util. Calendar ;
import java. util. Date ;
import java. util. GregorianCalendar ;
public class ClendarClass {
public static void main ( String [ ] args) {
GregorianCalendar uCalendar2 = new GregorianCalendar ( 2999 , 10 , 9 , 22 , 10 , 50 ) ;
uCalendar2. add ( Calendar . MONTH, - 7 ) ;
uCalendar2. add ( Calendar . DATE, 7 ) ;
printCalendar ( uCalendar2) ;
Date d = uCalendar2. getTime ( ) ;
GregorianCalendar uCalendar3 = new GregorianCalendar ( ) ;
uCalendar3. setTime ( new Date ( ) ) ;
}
private static void printCalendar ( GregorianCalendar uCalendar) {
int year = uCalendar. get ( Calendar . YEAR) ;
int month = uCalendar. get ( Calendar . MONTH) + 1 ;
int day = uCalendar. get ( Calendar . DAY_OF_MONTH) ;
int date = uCalendar. get ( Calendar . DAY_OF_WEEK) - 1 ;
String week = "" + ( ( date== 0 ) ? "日" : date) ;
int hour = uCalendar. get ( Calendar . HOUR) ;
int minute = uCalendar. get ( Calendar . MINUTE) ;
int second = uCalendar. get ( Calendar . SECOND) ;
System . out. printf ( "%d 年%d 月%d 日,星期%s %d:%d:%d\n" , year, month, day, week, hour, minute, second) ;
}
}