Armadilloフォーラム

保存したファイルのタイムスタンプ時刻が正しくない

nic-segawa

2017年8月31日 13時29分

お世話になっております。

Armadillo上のQtアプリケーションで作成したファイルをUSBメモリーへと保存し、Windows上で内容を確認しています。
その際にファイルの作成日時、更新日時の時間が保存した時間より9時間戻った時間となってしまいます。(Linuxコンソールでファイル情報を確認すると正しい時間となっています)
タイムゾーン設定等に起因するのかと思いますが、対策方法を教えて頂けないでしょうか?

よろしくお願い致します。

コメント

at_yashi

2017年9月4日 10時36分

FAT fs は、local time でタイムスタンプが書き込まれると思います。
もし 9時間戻っているのであれば、Armadillo で書き込んで着るときの local time が
すでに 9時間前だったりしませんか?

# date
.....
# mount /dev/usbmemory /mnt
# touch /mnt/testfile
# umount 

としたときに windows で見ると date で表示された時間から
戻りますか?

nic-segawa

2017年9月4日 16時54分

お世話になっております。

ご回答ありがとうございます。
記載頂いた手順を実行した所、Windows上では9時間戻った時間が表示されました。

Qt実行時の環境変数として「TZ=JST-9」を設定しております。local timeとしては日本時間となっているかと思います。(dateコマンドで時刻を表示するとJSTとして現在時刻が正しく表示されます)
Windows上で表示されるタイムスタンプはUTCの時刻となっているのではないかと思います。
何か考えられる原因、対策はありますでしょうか?

at_yashi

2017年9月6日 13時15分

mount -otime_offset=540 /dev/xxxx /mnt

としてみるとどうですか?

nic-segawa

2017年9月7日 9時58分

お世話になっております。

返信が遅れまして申し訳ありません。
ご教授頂いたソースコードにタイムゾーンを設定する記述を追加した所、タイムスタンプが正しく表示されるようになりました。
この方法でやってみるようにします。
ありがとうございました。