8.94. uxt UNIX時刻変換

  • 書式1: uxt(date)

  • 書式2: uxt(time)

  • 書式3: uxt2d(num)

  • 書式4: uxt2t(num)

書式1,2では、日付 \(date\) もしくは時刻 \(time\) をUNIX時刻に変換する。 逆に書式3,4では、UNIX時刻を日付型もしくは時刻型に変換する。 ここで、日付型が与えられたときは、その日の最初の時刻である 00:00:00 として計算される。

利用例

importと入力データ(CSV)の準備

 1import nysol.mcmd as nm
 2
 3with open('dat1.csv','w') as f:
 4  f.write(
 5'''id,date
 61,20000101
 72,20121021
 83,
 94,19700101
10''')
11
12with open('dat2.csv','w') as f:
13  f.write(
14'''id,time
151,20000101000000
162,20121021111213
173,
184,19700101000100
19''')

基本例

日付型の date 項目を uxt 関数でUNIX時刻に変換し、 uxt2d 関数でまたもとに戻す。

1nm.mcal(c='uxt($d{date})', a='uxt', i="dat1.csv", o="rsl1.csv").run()
2nm.mcal(c='uxt2d(${uxt})', a='date2', i="rsl1.csv", o="rsl2.csv").run()
3### rsl1.csv の内容
4# id,date,uxt
5# 1,20000101,946684800
6# 2,20121021,1350777600
7# 3,,
8# 4,19700101,0

時刻型も同様

1nm.mcal(c='uxt($t{time})', a='uxt', i="dat2.csv", o="rsl3.csv").run()
2nm.mcal(c='uxt2t(${uxt})', a='time2', i="rsl3.csv", o="rsl4.csv").run()
3### rsl2.csv の内容