parseDateTime
을 사용하여 생성 된 ColdFusion 날짜/시간 객체가 포함 된 date1
이라는 변수가 있습니다. 변수를 덤프하면 {ts '2014-12-20 15:46:57'}
이됩니다.잘못된 값을 반환하는 dateDiff
dateConvert("local2utc",now())
에 의해 생성 된 다른 ColdFusion 날짜/시간 객체를 포함하는 date2
이라는 또 다른 변수가 있습니다. 변수를 덤프하면 {ts '2014-12-20 15:49:40'}
이됩니다.
그러나 내가 할 때 dateDiff("s",date1,date2)
나는 매우 많은 초인 -21436을 얻는다. 아무도 왜 이런 일이 일어 났는지 설명 할 수 있습니까? 나는 이것이 시간대 문제일지도 모른다라고 생각한다. 그러나 나는 그것의 주위에 나의 머리를 얻을 수 없다.
생식 코드를
<cfset dtString = "Saturday, December 20, 2014 05:07:30 PM">
<cfset dtObject = parseDateTime(dtString)>
<cfdump var="#dtObject#">
<cfset utcNow = dateConvert("local2utc",now())>
<br><br><cfdump var="#utcNow#">
<br><br><cfdump var="#dateDiff("s",dtObject,utcNow)#">
붙여 넣기를 게시하여 문제를 다시 만들 수 있습니까? –
아니요,보고있는 내용을 보여주는 재현 사례를 보지 않고도 한 가지 또는 다른 방법으로 의견을 제시 할 수는 없습니다. Pls가이 문서 및 링크 된 문서를 읽었습니다. http://blog.adamcameron.me/2013/09/short-self-contained-correct-compilable.html –
UTC-6 인 TZ에있는 것으로 의심됩니다. Google에 CF 버그 (https://www.google.co.uk/search?q=bugbase.adobe.com+dateConvert)가있는 경우 dateConvert()와 함께 여러 번 문제가 발생하여 같은 시간대에있는 것처럼 보입니다. 당신이보고있는 것의. Adobe는 이러한 문제를 해결했다고 주장하지만 결코 그렇게 확신하지는 않습니다. 첫 번째 날짜가 로컬 TZ에 있고 두 번째 날짜가 UTC로 판단되므로 dateAdd() 결과에 해당 오프셋이 반영된 것입니다. 왜 TZ diff가''에 보이지 않습니까? 던노. 그래도 나를 놀라게하지 않습니다. –