0
私はRubyでLinuxのRTCを扱おうとしています。 ioctl経由のRTCドライバはstandard time.h
fileにあるstruct tm
と非常によく似ています。悲しいかな、私はこの構造を理解する標準的なRubyメソッドを見つけることができません(月の数字は0ベース、年は1900ベース)。いくつかの簡単なコーディングの短所は、tm構造体/配列をTimeオブジェクトに変換できるRubyの標準ライブラリ/オブジェクトですか?Ruby:UNIXの構造体をどのように変換するのですか?
現在のソリューションは、次のとおりです。
rtctm_raw=rtc.unpack("iiiiii") # see rtc(4) or time.h
rtctm=[ *rtctm_raw, 0,0,0,0 ]
rtctm[4]+=1
rtctm[5]+=1900
rtc_values=Time.gm(*rtctm)
しかし、一つは、Rubyの「GM」と「mktime関数」の呼び出しはPOSIXの対応をミラー思うので、私は、この醜い考えます。しかし、彼らはしません。そのような呼び出しが利用可能な場合は、それらを使用することをお勧めします。
をあなたが何かをしようとしましたか?簡単なコーディングで何が問題になっていますか? –
あなたは変換したいものの例を挙げることができますか...それは文字列ですか? – Kris
@Kris done。更新を参照してください。 – Otheus