|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.Date
public class Date
Date
클래스는, 특정의 시점을 나타내서 , 그 정밀도는 밀리 세컨드입니다.
JDK 1. 1 보다 전의 Date
클래스에는, 2 개의 추가 기능이 있었습니다. 우선, 일자를 년, 월, 일, 시, 분, 초의 값으로 해서 해석할 수가 있었습니다. 게다가 일자 캐릭터 라인의 포맷을 구문 분석 할 수가 있었습니다. 그러나, 이러한 기능의 API 는 국제화의 대상으로는 되지 않았습니다. JDK 1. 1 으로부터는, 일자와 시간 필드의 사이의 변환에는 Calendar
클래스를, 일자 캐릭터 라인의 포맷과 구문 분석에는 DateFormat
클래스를 각각 사용할 필요가 있습니다. Date
의 대응하는 메소드는 추천 되지 않습니다.
Date
클래스는, UTC (Universal Coordinate Time)를 반영하는 것을 의도하고 있습니다만, Java 가상 머신의 호스트 환경에 따라서는 이것을 정확하게 실시할 수 없을 가능성이 있습니다. 거의 모든 최근의 operating system는, 모든 경우에 대해 1 날 = 24 × 60 × 60 = 86400 초로 가정하고 있습니다. 그러나, UTC 에 대해 매년 약 1 회나 2 회 「윤초」라고 불리는 여분의 초가 발생합니다. 윤초는 항상 그 날의 마지막 초로서 추가되어 그것은 항상 12 월 31 일인가 또는 6 월 30 일입니다. 예를 들어, 1995 년의 마지막 분은, 윤초의 추가에 의해 길이가 61 초였습니다. 대부분의 컴퓨터의 클락은, 윤초의 차이를 반영할 수 있을 만큼 정확하지는 않습니다.
컴퓨터 표준의 몇개인가는, GMT (Greenwich Mean Time, 그리니지 표준시)에 의해 정의되고 있습니다. 이것은 UT (Universal Time)와 동등합니다. GMT 는 이 표준의 「일반적인」이름입니다. UT 는, 이 표준의 「과학적인」이름입니다. UTC 와 UT 의 차이는, UTC 가 원자 시계에 근거하는데 대해, UT 는 천문학적인 관측에 근거하는 것입니다. 이것은 실용적인 목적으로부터 하면(자) 거의 차이는 없습니다. 지구의 자전은 일정은 아니기 때문에 (지구는 복잡하게 늦어지거나 빨라지거나 한다), UT 는 항상 일정에 흐르는 것은 아닙니다. 윤초는, UTC 를 UT1 의 0.9 초 이내에 유지할 필요가 있어 UTC 에 도입되었습니다. 이 UT1 는 UT 의 버젼인 정정이 베풀어지고 있습니다. (와)과 같이 그 밖에도 시간과 일자의 시스템이 있습니다. 예를 들어, 위성 베이스의 GPS (Global Positioning System, 지구 위치확인 시스템)는 UTC 에 동기 하고 있습니다만, 윤초의 조정은 되지 않습니다. 상세 정보의 소스에는 U.S. Naval Observatory (미국 해군 천문대)가 있어, 특히 다음의 「Directorate of Time」,
http://tycho.usno.navy.mil
및 다음의 「Systems of Time」의 정의를 참조해 주세요.
http://tycho.usno.navy.mil/systime.html
년, 월, 일, 시간, 분 , 초의 값을 받을까 돌려주는 Date
클래스의 모든 메소드에 대해, 다음의 표시가 사용됩니다.
- 1900
에 의해 나타내집니다.
모든 경우에 대해, 이 목적으로 메소드에게 줄 수 있었던 인수는 지정된 범위에 들어갈 필요는 없습니다. 예를 들어, 일자를 1 월 32 일로서 지정했을 경우는, 2 월 1 일로 해석됩니다.
DateFormat
,
Calendar
,
TimeZone
,
직렬화 된 형식 생성자 의 개요 | |
---|---|
Date ()
Date 객체를 할당해 초기화합니다. |
|
Date (int year,
int month,
int date)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(year + 1900, month, date) 또는 GregorianCalendar(year + 1900, month, date) 로 옮겨졌습니다. |
|
Date (int year,
int month,
int date,
int hrs,
int min)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(year + 1900, month, date, hrs, min) 또는 GregorianCalendar(year + 1900, month, date, hrs, min) 로 옮겨졌습니다. |
|
Date (int year,
int month,
int date,
int hrs,
int min,
int sec)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(year + 1900, month, date, hrs, min, sec) 또는 GregorianCalendar(year + 1900, month, date, hrs, min, sec) 로 옮겨졌습니다. |
|
Date (long date)
Date 객체를 할당해 초기화합니다. |
|
Date (String s)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, DateFormat.parse(String s) 로 옮겨졌습니다. |
메소드의 개요 | |
---|---|
boolean |
after (Date when)
이 일자가, 지정된 일자보다 나중에 있을지 어떨지를 판정합니다. |
boolean |
before (Date when)
이 일자가, 지정된 일자보다 전에 있을지 어떨지를 판정합니다. |
Object |
clone ()
이 객체의 카피를 돌려줍니다. |
int |
compareTo (Date anotherDate)
순서부를 위해서(때문에) 2 개의 Date 를 비교합니다. |
boolean |
equals (Object obj)
2 개의 일자가 동일한지 어떤지를 비교합니다. |
int |
getDate ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.get(Calendar.MONTH) 로 옮겨졌습니다. |
int |
getDay ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.get(Calendar.DAY_OF_WEEK) 로 옮겨졌습니다. |
int |
getHours ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.get(Calendar.HOUR_OF_DAY) 로 옮겨졌습니다. |
int |
getMinutes ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.get(Calendar.MINUTE) 로 옮겨졌습니다. |
int |
getMonth ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.get(Calendar.MONTH) 로 옮겨졌습니다. |
int |
getSeconds ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.get(Calendar.SECOND) 로 옮겨졌습니다. |
long |
getTime ()
Date 객체로 나타내지는, 1970 년 1 월 1 일 00:00:00 GMT 로부터의 밀리 세컨드수를 돌려줍니다. |
int |
getTimezoneOffset ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000) 로 옮겨졌습니다. |
int |
getYear ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.get(Calendar.YEAR) - 1900 으로 옮겨졌습니다. |
int |
hashCode ()
이 객체에 대한 해시 코드값를 돌려줍니다. |
static long |
parse (String s)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, DateFormat.parse(String s) 로 옮겨졌습니다. |
void |
setDate (int date)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(Calendar.DAY_OF_MONTH, int date) 로 옮겨졌습니다. |
void |
setHours (int hours)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(Calendar.HOUR_OF_DAY, int hours) 로 옮겨졌습니다. |
void |
setMinutes (int minutes)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(Calendar.MINUTE, int minutes) 로 옮겨졌습니다. |
void |
setMonth (int month)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(Calendar.MONTH, int month) 로 옮겨졌습니다. |
void |
setSeconds (int seconds)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(Calendar.SECOND, int seconds) 로 옮겨졌습니다. |
void |
setTime (long time)
Date 객체를, 1970 년 1 월 1 일 00:00:00 GMT 로부터 time 밀리 세컨드의 시점을 나타내도록(듯이) 설정합니다. |
void |
setYear (int year)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(Calendar.YEAR, year + 1900) 로 옮겨졌습니다. |
String |
toGMTString ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, GMT TimeZone 를 사용하는 것으로써,DateFormat.format(Date date) 로 옮겨졌습니다. |
String |
toLocaleString ()
추천 되고 있지 않습니다. JDK Version 1.1 이후는, DateFormat.format(Date date) 로 옮겨졌습니다. |
String |
toString ()
Date 객체를 다음의 형식의 String 로 변환합니다. |
static long |
UTC (int year,
int month,
int date,
int hrs,
int min,
int sec)
추천 되고 있지 않습니다. JDK Version 1.1 이후는, Calendar.set(year + 1900, month, date, hrs, min, sec) 또는 GregorianCalendar(year + 1900, month, date, hrs, min, sec) 로 옮겨졌습니다. UTC TimeZone 를 사용해,Calendar.getTime(). getTime() 가 나중에 계속됩니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
finalize , getClass , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
public Date()
Date
객체를 할당해 초기화합니다. 이것에 의해, 이 객체는, 할당할 수 있었을 때의 시각을, 가장 가까운 밀리 세컨드 단위로 나타냅니다.
System.currentTimeMillis()
public Date(long date)
Date
객체를 할당해 초기화합니다. 이것에 의해, 이 객체는, 「신기원」(즉, 1970 년 1 월 1 일 00:00:00 GMT)인 표준시부터의 지정된 밀리 세컨드수를 나타냅니다.
date
- 1970 년 1 월 1 일 00:00:00 GMT 로부터의 밀리 세컨드수System.currentTimeMillis()
@Deprecated public Date(int year, int month, int date)
Calendar.set(year + 1900, month, date)
또는 GregorianCalendar(year + 1900, month, date)
로 옮겨졌습니다.
Date
객체를 할당해 초기화합니다. 이것에 의해, 이 객체는, 로컬 시간의 한밤 중을 나타냅니다. 이것은,year
,month
,date
인수로 지정된 날의 초입니다.
year
- 년부터 1900 을 뺀 것month
- 0 ~ 11 의 달date
- 1 ~ 31 의 달의 날Calendar
@Deprecated public Date(int year, int month, int date, int hrs, int min)
Calendar.set(year + 1900, month, date, hrs, min)
또는 GregorianCalendar(year + 1900, month, date, hrs, min)
로 옮겨졌습니다.
Date
객체를 할당해 그것을 초기화합니다. 이것에 의해, 객체는 year
,month
,date
,hrs
, 및 min
인수로 지정된 만큼의 개시시점을 로컬 타임 존으로 나타냅니다.
year
- 년부터 1900 을 뺀 것month
- 0 ~ 11 의 달date
- 1 ~ 31 의 달의 날hrs
- 0 ~ 23 때min
- 0 ~ 59 의 분Calendar
@Deprecated public Date(int year, int month, int date, int hrs, int min, int sec)
Calendar.set(year + 1900, month, date, hrs, min, sec)
또는 GregorianCalendar(year + 1900, month, date, hrs, min, sec)
로 옮겨졌습니다.
Date
객체를 할당해 그것을 초기화합니다. 이것에 의해, 객체는 year
,month
,date
,hrs
,min
, 및 sec
인수로 지정된 초의 개시시점을 로컬 타임 존으로 나타냅니다.
year
- 년부터 1900 을 뺀 것month
- 0 ~ 11 의 달date
- 1 ~ 31 의 달의 날hrs
- 0 ~ 23 때min
- 0 ~ 59 의 분sec
- 0 ~ 59 의 초Calendar
@Deprecated public Date(String s)
DateFormat.parse(String s)
로 옮겨졌습니다.
Date
객체를 할당해 초기화합니다. 이것에 의해, 이 객체는, 캐릭터 라인 s
로 지정된 일자와 시각에 초기화됩니다. 이것은,parse(java.lang.String)
메소드로 해석되는 것과 같이 해석됩니다.
s
- 일자의 캐릭터 라인 표현DateFormat
,
parse(java.lang.String)
메소드의 상세 |
---|
public Object clone()
Object
내의 clone
Cloneable
@Deprecated public static long UTC(int year, int month, int date, int hrs, int min, int sec)
Calendar.set(year + 1900, month, date, hrs, min, sec)
또는 GregorianCalendar(year + 1900, month, date, hrs, min, sec)
로 옮겨졌습니다. UTC TimeZone
를 사용해,Calendar.getTime(). getTime()
가 나중에 계속됩니다.
year
- 년부터 1900 을 뺀 것month
- 0 ~ 11 의 달date
- 1 ~ 31 의 달의 날hrs
- 0 ~ 23 때min
- 0 ~ 59 의 분sec
- 0 ~ 59 의 초
Calendar
@Deprecated public static long parse(String s)
DateFormat.parse(String s)
로 옮겨졌습니다.
많은 구문이 가능합니다. IETF 표준 일자 구문 Sat, 12 Aug 1995 13:30:00 GMT 가 인식됩니다. 게다가 미국 대륙의 타임 존 생략형이 인식됩니다만, 일반적인 사용에서는, 타임 존 오프셋(offset) Sat, 12 Aug 1995 13:30:00 GMT+0430 (그리니지 자오선의 서쪽, 4 시간 30 분 )를 사용해 주세요. 타임 존을 지정하지 않으면 로컬 타임 존이 사용됩니다. GMT 와 UTC 는 동등으로 간주해집니다.
캐릭터 라인 s 는, 대상의 데이터를 찾으면서, 왼쪽에서 오른쪽을 향해 처리됩니다. s 중(안)에서 ASCII 괄호 문자 「()」로 둘러싸여 있는 것은 무시됩니다. 괄호는 상자로 할 수 있습니다. 괄호 이외로,s 내에서 허가되는 문자는 이하의 ASCII 문자 뿐입니다.
및 공백 문자abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789,+-:/
10 진수의 연속은 10 진수로서 처리됩니다.
SimpleDateFormat
로 사용되는 100 보다 적은 해의 해석과는 조금 다릅니다.
문자의 연속은 단어로 간주해져 이하와 같이 처리됩니다.
캐릭터 라인 s 의 전체가 주사 되면(자), 그것은 2 개의 방법의 어느 쪽인지로 시간에 변환됩니다. 타임 존 또는 타임 존 오프셋(offset)가 인식되고 있는 경우, 년, 월, 일, 시, 분, 및 초는 UTC 로 해석되어 타임 존 오프셋(offset)가 적용됩니다. 그렇지 않은 경우, 년, 월, 일, 시, 분, 및 초는 로컬 타임 존으로 해석됩니다.
s
- 일자로서 구문 분석 되는 캐릭터 라인
DateFormat
@Deprecated public int getYear()
Calendar.get(Calendar.YEAR) - 1900
으로 옮겨졌습니다.
Date
객체로 나타내지는 시점을 포함하든가 또는 그 시점에서 시작되는 해부터 1900 을 뺀 결과의 값을, 로컬 타임 존으로 해석해 돌려줍니다.
Calendar
@Deprecated public void setYear(int year)
Calendar.set(Calendar.YEAR, year + 1900)
로 옮겨졌습니다.
Date
객체는, 지정된 해가 있는 시점을, 이전과 같이 월, 일, 시, 분, 및 초를 사용해 로컬 타임 존으로 나타내도록(듯이) 변경됩니다. 예를 들어 일자가 2 월 29 일이었던 경우, 해는 윤년은 아니면 설정되어 새로운 일자는 3 월 1 일로서 처리됩니다.
year
- 년의 값Calendar
@Deprecated public int getMonth()
Calendar.get(Calendar.MONTH)
로 옮겨졌습니다.
0
으로 11
의 사이이며, 값 0
은 1 월을 나타냅니다.
Calendar
@Deprecated public void setMonth(int month)
Calendar.set(Calendar.MONTH, int month)
로 옮겨졌습니다.
month
- 0 ~ 11 의 달의 값Calendar
@Deprecated public int getDate()
Calendar.get(Calendar.MONTH)
로 옮겨졌습니다.
1
으로 31
의 사이가 됩니다.
Calendar
@Deprecated public void setDate(int date)
Calendar.set(Calendar.DAY_OF_MONTH, int date)
로 옮겨졌습니다.
date
- 1 ~ 31 의 달의 날의 값Calendar
@Deprecated public int getDay()
Calendar.get(Calendar.DAY_OF_WEEK)
로 옮겨졌습니다.
Calendar
@Deprecated public int getHours()
Calendar.get(Calendar.HOUR_OF_DAY)
로 옮겨졌습니다.
Calendar
@Deprecated public void setHours(int hours)
Calendar.set(Calendar.HOUR_OF_DAY, int hours)
로 옮겨졌습니다.
hours
- 시간의 값Calendar
@Deprecated public int getMinutes()
Calendar.get(Calendar.MINUTE)
로 옮겨졌습니다.
0
~ 59
입니다.
Calendar
@Deprecated public void setMinutes(int minutes)
Calendar.set(Calendar.MINUTE, int minutes)
로 옮겨졌습니다.
minutes
- 분의치Calendar
@Deprecated public int getSeconds()
Calendar.get(Calendar.SECOND)
로 옮겨졌습니다.
0
~ 61
입니다. 값 60
및 61
은, 윤년을 고려하는 Java 가상 머신만으로 발생합니다.
Calendar
@Deprecated public void setSeconds(int seconds)
Calendar.set(Calendar.SECOND, int seconds)
로 옮겨졌습니다.
seconds
- 2 번째의 값Calendar
public long getTime()
public void setTime(long time)
Date
객체를, 1970 년 1 월 1 일 00:00:00 GMT 로부터 time
밀리 세컨드의 시점을 나타내도록(듯이) 설정합니다.
time
- 밀리 세컨드수public boolean before(Date when)
when
- 일자
true
, 그렇지 않은 경우는 false
NullPointerException
- when
가 null 의 경우public boolean after(Date when)
when
- 일자
true
, 그렇지 않은 경우는 false
NullPointerException
- when
가 null 의 경우public boolean equals(Object obj)
null
는 아니고, 한편, 이 객체와 밀리 세컨드까지 같은 시점을 나타내는 Date
객체이면,true
를 돌려줍니다.
따라서, 2 개의 Date
객체는,getTime
메소드가 양쪽 모두에 대해서 같은 long
를 돌려주는 경우만 동일한 것으로 간주해집니다.
Object
내의 equals
obj
- 비교 대상의 객체
true
, 그렇지 않은 경우는 false
getTime()
public int compareTo(Date anotherDate)
Comparable <Date >
내의 compareTo
anotherDate
- 비교 대상의 Date
0
. 이 Date 가 인수 Date 보다 전의 경우는 0
보다 작은 값. 이 Date 가 인수 Date 보다 후의 경우는 0
보다 큰 값
NullPointerException
- anotherDate
가 null 의 경우public int hashCode()
getTime()
메소드에 의해 반환되는 프리미티브(primitive) long 치의 상위 반과 하위 반의 배타적 논리합입니다. 즉, 해시 코드는 다음의 식의 값입니다.
(int)(this.getTime()^(this.getTime() >>> 32))
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String toString()
Date
객체를 다음의 형식의 String
로 변환합니다.
다음에 각각의 의미를 나타냅니다.dow mon dd hh:mm:ss zzz yyyy
Object
내의 toString
toLocaleString()
,
toGMTString()
@Deprecated public String toLocaleString()
DateFormat.format(Date date)
로 옮겨졌습니다.
strftime()
기능에 의해 지원되는 「%c
」포맷의 경우와 같습니다.
DateFormat
,
toString()
,
toGMTString()
@Deprecated public String toGMTString()
TimeZone
를 사용하는 것으로써,DateFormat.format(Date date)
로 옮겨졌습니다.
d mon yyyy hh:mm:ss GMT다음에 각각의 의미를 나타냅니다.
결과는 로컬 타임 존에 의존하지 않습니다.
DateFormat
,
toString()
,
toLocaleString()
@Deprecated public int getTimezoneOffset()
-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)
로 옮겨졌습니다.
Date
객체로 나타내지는 시간에 적절한, UTC 를 기준으로 한 로컬 타임 존의 오프셋(offset)를 분에 돌려줍니다. 다음에, 그리니지의 서 5 시간 존의 Massachusetts 의 예를 나타냅니다.
1996 년 2 월 14 일이기 때문에, 표준시 (동부 표준시)가 사용되고 있습니다. 오프셋(offset)는, UTC 로부터 5 시간입니다.new Date(96, 1, 14). getTimezoneOffset() returns 300
1996 년 6 월 1 일이기 때문에, 서머타임 (동부 서머타임)이 사용되고 있습니다. 오프셋(offset)는, UTC 로부터 4 시간 뿐입니다.new Date(96, 5, 1). getTimezoneOffset() returns 240
이 메소드는 계산했는지와 같이 같은 결과를 생성합니다.
(this.getTime() - UTC(this.getYear(), this.getMonth(), this.getDate(), this.getHours(), this.getMinutes(), this.getSeconds())) / (60 * 1000)
Calendar.ZONE_OFFSET
,
Calendar.DST_OFFSET
,
TimeZone.getDefault()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.