2017-09-29 13 views
0

자바 스크립트로 코딩하기 시작한 순간부터 모든 것을 배웠습니다.HTML 요소에서 날짜 가져 오기 및 오늘 날짜와 비교 JS

HTML 페이지의 요소에서 날짜를 참조하고 javascript를 사용하여 날짜가 과거임을 사용자에게 알리고 싶습니다. 여기

는 내가 지금까지 무엇을 가지고 : 나는 숫자에 오늘 날짜를 변환하고 근무 있는지를 표시했습니다

var EndDate = document.getElementById("Close"); 
 
document.getElementById("AuctionDate").innerHTML = 
 
Date.parse(EndDate.innerHTML); 
 
var TodaysDate = Date.parse(Date()); 
 
document.getElementById("TodaysDate").innerHTML = TodaysDate; 
 
if (EndDate < TodaysDate) { 
 
    alert("Closed"); 
 
    } else { 
 
    alert("Open"); 
 
}
<span id="Close">27 September 2017</span> 
 
<p id="AuctionDate"></p> 
 
<p id="TodaysDate"></p>

. EndDate 구문 분석 방법을 찾을 수 없으므로 제대로 비교할 방법을 찾지 못하는 것 같습니다.

감사합니다.

답변

0

. 이 값 (27 September 2017)은 현재 시간 소인 (1506645355000)과 비교됩니다. 문자열은 lexicographically과 비교되므로 JavaScript는 27 September 2017의 문자열이 정수인 1506645355000보다 '크다'라고 생각합니다. 당신이해야 할 일은

, 당신의 Date.parse() 첫 번째 라인으로 이동 Date.parse() 변수 할당 자체, 있도록 변수 EndDate이 구문 분석 날짜와 끝나는 포장입니다.

그런 다음 필요한 경우, 당신이 할 수있는 출력 직접 변수 EndDate로 대상에게 AuctionDate.innerHTML을 설정하여 페이지에이 다시이 도움이

var EndDate = Date.parse(document.getElementById("Close").innerHTML); 
 
console.log("EndDate's value is: " + EndDate) // returns a parsed date 
 
document.getElementById("AuctionDate").innerHTML = EndDate; 
 
var TodaysDate = Date.parse(Date()); 
 
document.getElementById("TodaysDate").innerHTML = TodaysDate; 
 
if (EndDate < TodaysDate) { 
 
    alert("Closed"); 
 
} else { 
 
    alert("Open"); 
 
}
<span id="Close">27 September 2017</span> 
 
<p id="AuctionDate"></p> 
 
<p id="TodaysDate"></p>

희망! :)

0

이 시도 : 현재 그것을 가지고, 당신은 Close에서 .innerHTML을 잡아 똑바로에 EndDate 것을 지정하고

if (new Date('27 September 2017') < new Date('28 September 2017')) { 
    console.log('still open') 
} 

// where 
// 27 September 2017 is dateToday 
// 28 September 2017 is dateCloses 

var today = document.getElementById("TodaysDate").innerHTML 
var dateToday = new Date(today) 
0

귀하의 원본 var EndDate = document.getElementById("Close");은 (는) 요소를에 입력하는 중입니다.
그래서 이후의 비교 if (EndDate < TodaysDate) 당신은 요소를 선택하여 Close html 요소에서 날짜를 얻을 수 DOM 요소<날짜 개체

을 비교 한 후 그 안에 텍스트지고 :
var dateString = document.getElementById('Close').innerText

Date 객체를 처리하려면 다음과 같이 구문 분석하면됩니다.
var EndDate = Date.parse(dateString)

이 시점에서 두 Date 객체를 비교할 수 있습니다.

참고 또한, Date 객체 구문 분석 아무 소용이 없다 :
var TodaysDate = Date.parse(Date());
당신은 같은 나는 그들이하지 않는 알고
var TodaysDate = new Date();

을 보면 간단하게 할 수 있습니다,하지만 당신은 정말 처리 할 전체에 Date 개의 개체가 있습니다.


사이드 참고 : 일반적으로이 예제를 가지고 오히려 .innerHTML
보다 .innerText을 사용해야합니다 - 대신이
<span id="Close">27 Septermber 2017</span>
당신이 더 복잡한 구조를 가지고 말 :에
<span id="Close"><span class="day">27</span> <span class="month">September</span> <span class="year">2017</span></span>

을 이 사건, close.innerHtml은 당신에게 그 모든 엉망을 줄 것입니다.
<span id="Close"><span class="day">27</span> <span class="month">September</span> <span class="year">2017</span></span>

012 3,516,

하지만 close.innerText가 제공하는 것과 27 September 2017

당신이 innerText와 innerHTML을 또는 당신이 실제로 당신이있어 무엇을 함께 할하는지에 따라 달라집니다할지 여부; 그 차이를 알고 당신이 원하는 것을 알 수 있습니다.