2011-01-26 21:41:09 +0000
과 같은 UTC 시간 문자열은보기 키에 사용되면 올바르게 정렬되지만 시간대 (예 : 2011-01-26 16:41:09 -0500
)를 저장하면 문서를 읽기 쉽도록 만들 수 있으므로 좋다고 생각합니다. 날짜를 획기적인 정수로 변환하는 것은 가독성 측면에서는별로 매력적이지 않지만 성능면에서 가장 좋을 수도 있습니다 (또는 차이가 있습니까?). 여기서 권장되는 연습은 무엇입니까?CouchDB에서 datetimes (타임 스탬프)를 저장하는 가장 좋은 방법은 무엇입니까?
답변
시간이 한 차원 일이. 시간 소인과 시간대는 2 차원 적이며 특정 시점과 위치를 설명합니다. 소파보기는 1 차원 (GeoCouch 플러그인이 아님)이기 때문에 공통 영역 (UTC)에 저장하는 것이 좋습니다.
아마도 가장 미래가 보장되는 형식은 자연스럽게 시간순으로 정렬되는 문자열 일 것입니다. 아마도 가장 편리한 형식은 JSON2가 출력하는 것입니다 :
> a = new Date();
Thu Jan 27 2011 18:40:52 GMT+0700 (ICT)
> JSON.stringify(a)
"2011-01-27T11:40:52.280Z"
언제든지 원하는 날짜를 저장할 수 있습니다. * 중요하게보기에 출력하는 방법입니다.
* Date.parse()가 읽을 수있는 한.
여기 좋은 해결책이있다 : Sorting Dates in CouchDB Views
마지막 에포크부터 밀리 초를 사용하고 싶습니다.
var milliseconds = new Date().valueOf();
var date = new Date(milliseconds);
내가 (밀리 초) 타임 스탬프가 키 B/C가 어디 뷰를 만들려면 : 당신이 밀리 초에서 새 날짜를 만들 수 있습니다
new Date().valueOf()
: 당신은 이것을 알아낼 수 정렬은 그렇게 쉬운 방법입니다.
또한 CouchDB 외부의 데이터로 작업 할 때 정수를 사용하는 것이 문자열보다 더 효율적이라고 생각합니다.
지도 축소면의지도 측면을 사용하는 경우 이러한 제안은 괜찮을 것입니다. 그러나 결과 (_count, _stats, _sum)를 줄이려면 group_level을 사용할 수 있도록 배열로 날짜를 내보내는 것이 좋습니다.
예를 들어, "2011-02-14"와 같은 날짜 문자열에 (doc.date.split ('-'))를 내면 일, 월, 일에 _count (예 :)를 반환 할 수 있습니다. group_level = 3, 2 및 1을 사용하여 연도를 지정합니다.
키의 시작 부분에 날짜가 아닌 데이터를 추가하여 데이터를 더 필터링 할 수 있습니다. 예를 들어 트위터 이름을 출력하는 경우 키는 [ "bigbluehat", "2011", "02", "14"]와 같을 수 있으며 reduce는 사용자 "bigbluehat"의 모든 트윗의 총 수를 반환 할 수 있습니다. 일별, 월별, 연도별로 해당 사용자의 통계를 제공합니다.
사물의 축소면을 사용하지 않는다면 문자열 기반 키가 좋을 것입니다.
내가 사용하는 데이터 저장 장치의 종류와 상관없이 필자는 일반적으로 필드로 유닉스 타임 스탬프를 원합니다. 여기에는 생성 된 날짜에 대해 하나의 필드를 포함시키고 문서를 포함 할 때 변경할 수있는 업데이트 된 필드 변경.
간단히 말하자면 간단히 "신기원으로"밀리 초가 아닌 "정기 신으로부터 초"방식을 선호합니다.
Math.round(new Date().getTime()/1000)
나를위한 트릭입니다.
가독성 측면에서 필자는 쉽게 비교할 수 있도록 정수로 저장하고 프런트 엔드를 사용하여 멋지게 표시하려고합니다.
Unix 타임 스탬프는 어떤 시스템에도 시간을 저장하는 가장 좋은 방법입니다. 나는 타이밍이 중요한 로봇 공학의 배경에서 당신을 말할 수 있습니다. – msysmilu
유닉스 타임 스탬프는 종종 좋은 방법이지만, 그렇지 않은 경우가 많이 있습니다. 예를 들어 32 비트 모기지 계산기에서 유닉스 타임 스탬프를 사용하는 경우 유닉스 타임 스탬프가 만료되는 2038 년 이후 모기지가 지나치게 길어질 수 있습니다. –
- 1. 유닉스 타임 스탬프를 int 열에 저장하는 방법은 무엇입니까?
- 2. MSBuild에서 타임 스탬프를 출력하는 방법
- 3. 안드로이드에서 타임 스탬프를 날짜로 변환하는 방법은 무엇입니까?
- 4. OutputDebugString()에 타임 스탬프를 추가하는 방법은 무엇입니까?
- 5. 열의 최신 타임 스탬프를 얻는 방법은 무엇입니까?
- 6. PHP에서 MySQL 타임 스탬프를 증가시키는 방법은 무엇입니까?
- 7. 이 타임 스탬프를 해석하는 방법은 무엇입니까?
- 8. 안드로이드에 이미지를 저장하는 가장 좋은 방법은 무엇입니까?
- 9. 사용자 알림을 저장하는 가장 좋은 방법은 무엇입니까?
- 10. 배지 기준을 저장하는 가장 좋은 방법은 무엇입니까?
- 11. 데이터를 파일로 저장하는 가장 좋은 방법은 무엇입니까?
- 12. 암호화 키를 저장하는 가장 좋은 방법은 무엇입니까?
- 13. svg 아이콘을 저장하는 가장 좋은 방법은 무엇입니까?
- 14. UI 설정을 저장하는 가장 좋은 방법은 무엇입니까?
- 15. 리퍼러를 저장하는 가장 좋은 방법은 무엇입니까?
- 16. 클래스 변수를 저장하는 가장 좋은 방법은 무엇입니까?
- 17. MySQL에 기간을 저장하는 가장 좋은 방법은 무엇입니까
- 18. 트렌드 데이터를 저장하는 가장 좋은 방법은 무엇입니까?
- 19. 어셈블리를 저장하는 가장 좋은 방법은 무엇입니까?
- 20. 데이터를 안전하게 저장하는 가장 좋은 방법은 무엇입니까?
- 21. 시간대 변환의 가장 좋은 방법은 무엇입니까?
- 22. Python : PySerial로 상태 비트와 타임 스탬프를 보내는 가장 좋은 방법은 무엇입니까
- 23. 레일 : mysql에 코멘트를 저장하는 가장 좋은 방법
- 24. php/mysql 설치의 유닉스 타임 스탬프 - 이것을 저장하는 가장 좋은 MySQL 데이터 유형은 무엇입니까? otherwords에서
- 25. 타임 스탬프를 빼는 것
- 26. 서머 타임 규칙을 나타내는 가장 좋은 방법은 무엇입니까?
- 27. 임시 사용자 정보를 asp.net에 저장하는 가장 좋은 방법은 무엇입니까?
- 28. 데이터를 저장하는 가장 좋은 방법
- 29. 내 데이터를 저장하는 가장 좋은 장소는 무엇입니까?
- 30. 유닉스 타임 스탬프를 int에 저장할 수 있습니까?
+1 그러나 타임 스탬프는 출력 방법을 제어 할 수없는 문서 ID에있을 수 있으므로 JSON2 형식을 사용하는 것이 좋습니다. (로그 저장은'_id'에서 많은 타임 스탬프를 보았던 상황입니다.) – JasonSmith