2017-12-20 11 views
3

나는 루비에 이상한 타임 스탬프를 구문 분석하는 방법을 궁금 :64 비트 정수로 주어진 타임 스탬프를 루비 엔디안 형식으로 구문 분석하는 방법은 무엇입니까?

값은 64 비트 정수 little-에 있습니다

여기
566455139129676 
566455199011666 
566455199892825 
566455259010949 
566455319010859 
566455335000847 
566455336000936 
566455336127533 
566455347898055 

내가이 타임 스탬프의 형식에 대해 무엇을 알고 줄리안 날짜 이후 마이크로 초를 포함하는 엔디안 형식 : 01 01 2000 00:00:00 ( UTC 시간대). 어떤 도움이 가장 극명하게 될 것이다 https://my.vertica.com/docs/9.0.x/HTML/index.htm#Authoring/AdministratorsGuide/BinaryFilesAppendix/ColumnDefinitions.htm

:

호기심에 대한

, 이러한 타임 스탬프의 Vertica의 내부 표현입니다.

답변

3

엔디안 니스가 여기에 어떤 영향을 미칠지 확실하지 않습니다. 이미 정수가 있습니다.

그래서 Epoch는 2000 년 1 월 1 일입니까? 기본적으로 차이는 1969-12-31과 그 시대의 차이를 고려해야합니다.

epoch = Time.new(2000, 1, 1) 

epochOffset = epoch.to_i - Time.at(0).to_i; 

ts = Time.at((566455347898055/1000000) + epochOffset) 

print ts.strftime "%Y-%m-%d %H:%M:%S %z"; 

> 2017-12-13 04:42:27 +0000 
+0

감사합니다. 이것은 내가 필요한 것입니다! – twneale