- ベストアンサー
時間表示
hexで0b b7 0d 56 0e c4は何時を表現しているのでしょうか?(48bitを使用しています。)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 No.2.3の方がある程度回答されていますが。 >1601年1月1日を0とする1msec単位の数を表しているそうです。 「そうです」って、オリジナルの関数か何かなわけ? だから、情報不足なので再度 >どのAPIを使用した時の値ですか? >それがわからなければとうしようもありません。 となる。 その中で、No2.氏が回答されているとおり「エンディアンがわからなければ…」ともなる。 1601/01/01 00:00:00.001(なのか? 始点の秒数がわからん)の値を取得すればエンディアンもある程度はわかるだろうし というか、 >1601年1月1日を0とする1msec単位の数を表しているそうです。 まで分かってて、なんで自分で計算しないの? 1秒は1000ms。 1分は60秒で、60000ms 1時間は60分で、3600秒。 1日は24時間で、1440分で、86400秒。 1年は365日(うるう年は366日)。 までわかれば計算はできるでしょ。 それとも、「16進数の計算の仕方」から教えた方がいいの?
その他の回答 (3)
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
つ~か >1601年1月1日を0とする1msec単位の数を表しているそうです。 が判ってるんなら、自分で計算出来るでしょう。 16進数は、aが10、bが11なんだから、c4だったら12×16+4。 0ec4だったら0×16×16×16+14×16×16+12×16+4。 560ec4だったら5×16×16×16×16×16+6×16×16×16×16+0×16×16×16+14×16×16+12×16+4。 計算した数値がミリ秒って事は、それを1000で割れば、1601年1月1日0時0分0秒からの経過秒数。 それを更に60で割れば、経過分数。余りは秒。 それを更に60で割れば、経過時。余りは分。 それを更に24で割れば、経過日数。余りは時。 日数と時分秒が出れば、あとはカレンダー通りに日数を数えれば良い。
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>hexで0b b7 0d 56 0e c4 >1601年1月1日を0とする1msec単位の数を表している 情報不足。 「1」は「01 00 00 00 00 00」と「00 00 00 00 00 01」のどっち? そのデータには閏秒は考慮されてんの?されてないの? つ~かさ、48ビットって判ってんなら、紛らわしい書き方しないで欲しい。最初っから「0x0bb70d560ec4」か「0xc40e560db70b」って書いて。 んで「ビッグエディアンかリトルエディアンか判らないので、0x0bb70d560ec4か0xc40e560db70bか、どっちか判らない」ってんなら、答えは誰にも判らないから、一昨日出直して来て下さい。
- arain
- ベストアンサー率27% (292/1049)
どのAPIを使用した時の値ですか? それがわからなければとうしようもありません。 ・ある時間を基準点としての経過秒数 ・それぞれの桁に年月日時分秒が入っている のどちらかの可能性は高いと思いますが。
補足
1601年1月1日を0とする1msec単位の数を表しているそうです。