2012-05-01 4 views
13

자바 스크립트에서 일부 날짜를 비교하려고합니다. 어떤 이유 javascript Date(). getTime()이 (가) 함수가 아닙니다.

, 나는군요 "화 월 01 2012 그리니치 표준시 16시 43분 3초 + 0900 (JST)는 'getTime를'아무 방법이 없다"물론

, strings don't have methods

내가 시작을

: 나는 그것을 아래로 깎았습니다

for (var i = 0; i < array_of_usage_indices.length; i++) { 
    store.get(array_of_usage_indices[i]['key'],function(may_need_gc) { 
     if(may_need_gc) { 
      var now = Date(); 
      var created = Date(may_need_gc['value']); 
      var age = now.getTime()-created.getTime(); 
     } 
    }) 
} 

그래서 내 예제 페이지는 문자 그대로 바로 이것이다 : 콜백 내부 코드는하지만 var age를 생성 라인에 getTime()에 실패했다

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
     <title>date test</title> 

    </head> 

<body> 

<script type="text/javascript" charset="utf-8"> 
      var now = Date(); 
      alert(now.getTime()); 
      var t = Date().getTime(); 
</script>  
</body> 
</html> 

Chrome 18.0.1025.168 및 Firefox 13.0에서는 실패했습니다. 나는 무엇을 시도했다의

스크린 샷 :

screenshot no method 'getTime'

screenshot no method 'getTime'

그래서 내 질문 :

WTH?

ParseDate()를 사용해야합니까? 왜이 기능이 작동하지 않습니까?

답변

32

것은이

var now = new Date(); 
+0

그래서 .now()는 작동하지 않지만 .getTime()은 무엇을합니까? – clocksmith

+0

@clocksmith'Date.now()'(주 : 괄호 없음)은 작동하지만'.getTime()'에는 Date 객체가 필요합니다. http://stackoverflow.com/questions/12517359/performance-date-now-vs-date-gettime 문서 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects를 참조하십시오./Date/now 및 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime – handle

15

new 연산자를 사용하여 Date 개체를 만들어야합니다.

(new Date()).getTime() 
+6

감사합니다. 나는 Parv에 녹색 체크를했습니다. 왜냐하면 당신이 지금 당장은 괜찮은 것 같아요. ;-) –

4

이 날짜 등의 변수 유형으로 '지금'만들려고 그래서 대신

var now = Date(); 

의 새로운 객체 의 인스턴스를 new 키워드를 사용해보십시오 :

var now = new Date(); 

그러면 '지금'에서 시간이 걸립니다.

new Date(now).getTime(); 
관련 문제