2013-12-23 3 views
0
난 단지 곧 축구 게임에 대한 자세한 내용과 링크를 표시하려면 다음 코드를 사용하고

:ColdFusion에서 MySQL의 날짜 문제 비교 다른 년

<cfset todaydate = dateformat(now(), 'dd/mm/yy') /> 

<cfif #dateformat(predict.date, "dd/mm/yy")# gte todaydate> LINK </cfif> 

이 2013 년에 오늘날과 향후 게임을 표시하기 위해 잘 작동하지만,하지 게임에 적합하지 않습니다. 게임중인 사용자 2014.

문제가 무엇인지 압니까? 감사.

+2

'dateformat을 사용할()를 사용하는 경우 ##이 필요하지 않은 점에 유의

dateCompare를 사용하는 것보다 기억하기 (나를 위해) 더 쉽습니다'** 출력 ** 날짜입니다. 날짜 (비교 등)에 대한 처리를하고 싶다면 (createDate()'/'parseDateTime()'등으로 생성 된) 실제 날짜 객체를 사용하십시오. 또한 ... 만약 당신이 * 날짜를 비교하기를 원한다면,'dateCompare()'를 사용하고,'gte','eq' 같은 비교 연산자는 사용하지 마십시오. –

+0

당신의 질문에 아무런 관련이없는 유용한 조언 . cfif 문에 파운드 기호가 필요하지 않습니다. ColdFusion에서 시작했을 때 파운드 기호를 사용해야 할 때를 기억하는 가장 좋은 방법은 표현식/변수를 출력 할 때 또는 따옴표로 묶어야하는 경우입니다. 예를 들어 예제입니다. 그렇지 않으면 fyroc

+0

질문에 대한 답변이 되었습니까? – baynezy

답변

4

개체문자열이 필요합니다. 당신이 두 숫자를 비교하는 것처럼 그래서 dateCompare()

<cfif dateCompare(predict.date, now()) GTE 0> LINK </cfif> 
+1

.. 날짜 만 비교하려면'd' 매개 변수를 추가하십시오. ' – Leigh

1

baynezy의 대답은 그것을 할 수있는 한 가지 방법 사용, 나의 선호하는 방법은

<cfif predict.date GTE now()> LINK </cfif> 

당신은 함께 2 개 날짜 객체를 비교할 수있을 것이다. 구문은 또한 당신이 cfif

+1

두 가지 방법의 한 가지 차이점은'dateCompare'가 암시 적으로 변환된다는 것입니다 날짜 오브젝트에 대한 입력 값 (날짜 오브젝트가 아닌 경우). 따라서 'gte'와는 달리 date 비교 문자열을 전달하더라도 (OP와 마찬가지로) 날짜 비교를 얻을 수 있습니다. 어쨌든 입력 값은 실제로 날짜 객체가되어야하지만 약간의 차이가 있습니다. – Leigh

+0

@Leigh는 유효한 점이지만 두 변수가 모두 date 객체 인 경우이 방법을 사용할 수도 있습니다. –

+0

Leigh의 의견은 사실 일 수 있지만 Matt의 방법은 코드를 읽을 수있는 최고의 점수를 얻습니다. DateCompare는 내가 본 모든 직관 중 가장 직관적이지 않은 함수 중 하나입니다. –