LuaFileSystemで得られる謎の数値を、可読可能な文字列および日付情報に変換します。
ライブラリLib:libFlashTimeに同等の機能があります。
参考:電子工作記録: FlashAirのLuaスクリプトで得たファイル更新時間を文字列に直す
http://gpsnmeajp.sblo.jp/article/181155303.html
ライブラリLib:libFlashTimeに同等の機能があります。
参考:電子工作記録: FlashAirのLuaスクリプトで得たファイル更新時間を文字列に直す
http://gpsnmeajp.sblo.jp/article/181155303.html
function GetFileModificationTime(Fat_binary_time)
Year = bit32.band (bit32.rshift(Fat_binary_time, 9+16),0x7F) + 1980
Month = bit32.band (bit32.rshift(Fat_binary_time, 5+16),0x0F)
Day = bit32.band (bit32.rshift(Fat_binary_time,0+16),0x1F)
Hour = bit32.band (bit32.rshift(Fat_binary_time, 11),0x1F)
min = bit32.band (bit32.rshift(Fat_binary_time, 5),0x3F)
sec = bit32.band (Fat_binary_time,0x1F)*2; --FAT時間は秒数が2秒刻み
return Year,Month,Day,Hour,min,sec
end
--yyyymmdd_hhmmss.jpgを生成する
function TimeToFileName(Year,Month,Day,Hour,min,sec)
return string.format("%04d%02d%02d_%02d%02d%02d.jpg",Year,Month,Day,Hour,min,sec)
end
-------------------サンプル----------------------
--Hello.txtの更新時間を取得する
a = lfs.attributes("Hello.txt")
--文字列で得る
Year,Month,Day,Hour,min,sec = GetFileModificationTime(a.modification)
print(Year.."年"..Month.."月"..Day.."日"..Hour.."時"..min.."分"..sec.."秒")
--文字列で得たものをファイル名形式にする
print(TimeToFileName(GetFileModificationTime(a.modification)))

コメントをかく