2009-04-06 8 views
2

質問Looking for Good CTIME/Unixtime converter私は良いWebベースのCTIME(1970年1月1日以降の秒数)のタイムコンバータを求めました。 (通常32ビット符号付き整数)。良いFILETIMEコンバータをお探しですか?

私は日付を入力して同等のCTIMEを得るツールが必要でした。私はUnixtimeがフォーマットのもう一つの名前であることに気がついたら、それを見つけることができました。一度私がそこに着いたらGoogleは私の友人だった。

1601年1月1日以降100ナノ秒単位で表される、64ビット符号付き整数としてより一般的に使用されるFILETIMEコンバータはどのようになりますか?(Active Directoryが内部で時間格納に使用するもの)

おそらく、それは私のためにそれを見つけるだろう上で検索するいくつかのより良いキーワードがあります。 FILETIMEの現在の時間を表示するツールがあり、私は手で他の場所で数学を行うことができますが、使いやすさのアプローチから見ているものではありません。

私はコードで使用することはできますが、高速フォーマットで簡単に使用できるようにするためのラッパーは使用できません。 Javaの時刻フォーマッタはそれをサポートしていますが、私は再びきれいにラップされたバージョンを探しています。

答えて

11

This tool will convertすべての時間タイプはオンラインです。

+0

パーフェクト-U-ムンドを返す必要があります!それはまさに私のGoogleのスキルが私を見つけることに失敗していたものです! – geoffc

+0

残念ながら、Unix Epoch(1970年1月1日00:00:00 GMT)以降のミリ秒に基づくJavaタイムスタンプの変換は行われません。そうでなければ、とてもいいですね。 –

+0

これには秒数が含まれていないため、すべての目的に完全には役立ちません。 – bialpio

1

Windowsでは、基本時刻は1/1/1601です。 FileTimeは100ナノ秒を指標として記録されます。 VBAを使用すると、どちらかの方法で数秒以内にアクセスできます。

(-4はあなたの現在のUTCオフセットです)ESTは通常-5ですが、政府がまとめてDSTスイッチオーバーを標準化したり、DSTを完全に取り除くことができないため、これをあなたの時間に変更する必要がありますゾーン。

600000000は、オーバーフローを避けるために100ナノ秒から数分に変換しています。

また、これがVBAであることを認識するので、Double値を表記形式で渡します。

Public Function ConvertFileTime(ByVal d As Double) As Date 
    ConvertFileTime = DateAdd("n", (d/600000000) + (60 * -4), #1/1/1601#) 
End Function 

例:

ConvertFileTime(1.2944684916706E + 17)

これは2011年3月15日13:48

関連する問題