programing

엑셀에서 유닉스 에포크 타임스탬프를 사람이 읽을 수 있는 날짜/시간으로 변환하려면 어떻게 해야 합니까?

padding 2023. 4. 28. 20:18
반응형

엑셀에서 유닉스 에포크 타임스탬프를 사람이 읽을 수 있는 날짜/시간으로 변환하려면 어떻게 해야 합니까?

자바 애플리케이션의 유닉스 에포크 타임스탬프가 포함된 엑셀 문서를 가지고 있습니다.나는 그들이 엑셀 안에서 무엇을 번역하고 그것들을 인간이 읽을 수 있는 날짜로 표현하는 것을 보고 싶습니다.

예를 들어, 1362161251894 길이는 다음과 같이 읽을 수 있는 값으로 평가해야 합니다. 2013년 3월 1일 11:07:31,894

저는 제가 이것에 대한 공식을 만들 수 있다고 생각하지만, 어떻게 해야 할지 잘 모르겠습니다.감사합니다!

예, 공식을 만들어 이 작업을 수행할 수 있습니다.Java 및 Unix/Linux는 1970년 1월 1일 이후의 밀리초 수를 계산하는 반면 Microsoft Excel은 Windows의 경우 1900년 1월 1일부터 시작하고 Mac OS X의 경우 1904년 1월 1일부터 시작합니다. 변환하려면 다음 작업만 수행하면 됩니다.

Windows에서 GMT 시간의 경우

=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))

Mac OS X에서 GMT 시간의 경우

=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))

Windows 현지 시간의 경우(GMT에서 현재 오프셋으로 대체)

=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))

Mac OS X의 현지 시간(GMT에서 현재 오프셋으로 대체)

=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))

특정한 경우에는 산악 시간(GMT 오프셋 7)에 있는 것처럼 보입니다.따라서 1362161251894의 값을 셀 A1의 새 Excel 스프레드시트에 붙여넣은 다음 공식을 붙여넣으면 41333.46356의 결과가 나옵니다. 그러면 Excel에 날짜로 포맷하라고 말하면(셀에서 ctrl+1 누름): 2/28/13 오전 11:07입니다.

=(((A1/1000)-(7*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))

여기에 답이 있는같습니다.

=(A1/86400)+25569

Epoch 시간이 밀리초 단위로 제공되었습니다(1523060201838). 사용자가 뉴욕 표준 시간대(GMT-04:00 또는 DST-14400)를 위해 변환을 찾고 있습니다.

Excel의 셀 A1은 13자리 값 에포크 시간을 가집니다.

((A1/1000)-14400)/86400 + 25569

로 변환하는.4/6/18 8:16 PM(셀을 날짜로 포맷한 후).

기억하고 읽기 가장 쉬운 공식은 다음과 같습니다.

Unix/Epoch 타임스탬프를 Excel에서 날짜로 변환(타임스탬프가 A2에 있다고 가정):

=(A2/86400)+DATE(1970,1,1)

GMT Excel 시간 값이 생성됩니다.그런 다음 셀 형식을 날짜 형식 중 하나로 설정하거나 고유한 사용자 정의 형식을 만들어야 합니다.다음 중 하나를 사용합니다.

dd-mmm-yy                --> gives 05-Oct-18
dd-mmm-yyyy hh:mm:ss     --> gives 05-Oct-2018 09:45:12

날짜를 Epoch 타임스탬프로 변환(날짜가 A2인 것으로 가정):

=(A2-DATE(1970,1,1))*86400

나는 이 페이지가 꽤 도움이 된다는 것을 알았습니다: 사무실 엑셀 타임 스탬프를 현재까지 연장합니다.

참고: GMT에서 현지 시간으로 조정해야 하는 경우(예: 뉴욕) 마지막에 차이를 추가합니다.다음은 -5시간 오프셋을 보여줍니다.

=(A2/86400)+DATE(1970,1,1)+(-5/24)

해라

=(A2/86400)+DATE(1970,1,1)+TIME(5,30,0)

인도가 GMT + 5:30인 것처럼 현지 시간에 도움이 될 것입니다.

Excel은 일을 전체 값으로 표시하고 시간을 부분 값으로 표시합니다.따라서 UNIX에서 1-1-1970 이후에 에포크 시간이 밀리초 단위로 제공된 경우, 1-1-1970의 Excel 표현을 추가하여 인간이 읽을 수 있는 UTC 시간을 제공하고자 합니다.값이 셀 A1에 있는 경우 Excel에는 다음이 필요합니다.

=A1/86400/1000+DATEVALUE("1-1-1970")

epoch 시간이 밀리초가 아닌 초 단위인 경우 /1000을 삭제할 수 있습니다.로컬 시간으로 변환하려면(여기서 't'는 로컬 UTC 오프셋입니다(UTC 오프셋이 음수인 경우 음수 값을 사용해야 함) UTC 오프셋을 추가/감산할 수 있습니다.

=A1/86400/1000+DATEVALUE("1-1-1970")+t/24

UTC 오프셋은 사용자의 위치에서 일광 절약 시간을 준수하는지 여부에 따라 달라질 수 있으며, 이는 단일 스프레드시트에서 연중 로컬 시간을 표시하기 위한 불완전한 솔루션입니다.

언급URL : https://stackoverflow.com/questions/15164237/how-do-i-convert-a-unix-epoch-timestamp-into-a-human-readable-date-time-in-excel

반응형