VB6で
バイナリーデータの解析を行っています。
この2バイトに日付が保存されているようなのですが
どう変換したらよいのかわかりません。
例
89 92 → H9/9/9
E8 90 → H8/8/8
E8 96 → H12/8/8
68 A1 → H19/8/8
わかる方いませんか?
よろしくお願いします。
>この2バイトに日付が保存されているようなのですが
その仮定は本当に正しいのですか?
2バイトだと最小単位を日とすると0x0000〜0xFFFFの179年分ぐらいしか
表現できませんが、そんな仕様になっているんですか?
もうちょっと、その日付がどのように使われているとか、何か制限があるとか
情報を開示したら?
というか、わざわざ誰かが意図して独自仕様で日付をバイナリー化しているん
だったら、それを承諾を得ずに公の掲示板で解析してしまうのはいかがなものかと。
それとも日付型の1部しか見ていないという勘違いでしたら
VB6のDATE型は8バイトで表現されているので、参考にして下さい。
1バイト目と2バイト目を入れ替えて考え,
1900年1月1日を「1」とした日数に1.051325をかけて
四捨五入して整数にしたもの?
が近い値になりますよ。
エクセルの数式で表せば(分析ツールアドインを有効にして)
=DEC2HEX(ROUND(DATEVALUE("H9/9/9")*1.051325,0))
で,だいたい同じ値になります。(だいだいです。)
1.051325の意味は全然わかりません。
ツイート | ![]() |