- 締切済み
UNIX形式時間表示を24時間表示にするには
質問させてください。 UXIX形式で表示されている表を 24時間表示に変換したいと思っているのですが フリーソフト&方法を知っていらっしゃる方 いらっしゃいましたら教えていただけないでしょうか。 以上、 宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
#1,#2です。 あいかわらず質問に答えてもらえないので、さっぱりです。 UNIX形式時間とは何のことでしょう? 自分で勝手に用語を作ってその説明をしないと他人には意味不明です。 変換結果を 1970-01-01 00:00:00 からの積算秒で得たいというのはわかりましたが、そうすると、質問文にある「24時間表示に変換したい」というのは間違いということでしょうか? excel上にデータがあるなら、その「UNIX形式」とやらの文字列を適当に関数で切り出して数値化して計算すればいいのでは?特殊な形式であってもVBAを使えば出来ると思います。 linux上であれば、 date +%s --date '日時をあらわす文字列' で、大抵の形式の日時をあらわす文字列から積算秒に変換できます。とはいえ、日時の形式なんて何十種類もあるので全てが解釈できるとは限りません。
これまでの情報で書きます。わからないところは適当に決めてます。 [元の表] タブ区切りのテキストファイル。ファイル名は「timedata.txt」。2つの項目が存在する。最初の項目は文字列、2番目がUNIXタイムスタンプ。 ファイルの内容は以下のとおり。タブは[TAB]で表記している。 ---- ここから ------ abc[TAB]1126667849 def[TAB]1126674132 ghi[TAB]1126678513 ---- ここまで ------ [処理] Rubyのスクリプトで変換する。スクリプト名は「timestamp.rb」。 ---- ここから ------ while line = gets str, ts = line.strip.split("\t") printf("%s\t%s\n", str, Time.at(ts.to_i).strftime("%Y/%m/%d %H:%M:%S")) end ---- ここまで ------ [実行結果] 以下の$はプロンプト。 $ ruby timestamp.rb timedata.txt abc[TAB]2005/09/14 12:17:29 (以下略) これで変換作業はできますが、今回の目的にはおそらく合わないでしょう。元のファイルはExcelなのかもしれないし、Rubyも入ってないかもしれない。Windowsのフリーソフトを求めているようですが、Vectorをざっとみて1本だけみつけました。 http://www.vector.co.jp/soft/win95/personal/se353603.html でも、これは時間を一つずつ入力して単純に変換するだけ(これはこれで便利ですが)。表を読み込んでタイムスタンプのところだけを変換する、といったプログラムになると、ないとは言わないですがかなり探すと思う。それなら、自分で作ったほうが楽。もちろんRubyでなくてもPerlとか、PHPでもできます。 ということで、元の表とはどんなものなのか。処理をするのは既存のソフトでないとダメとか、Perlなら使えるとか、ExcelのVBAでやりたい(できるかはしらないけど)とか、条件を書いてもらえないと、漠然としすぎて回答はむずかしいです。#1さんが訊いてるのもそういうことですよ。
- notnot
- ベストアンサー率47% (4900/10358)
>宜しくお願い致します。 お願いだけされても何をしたいのかわからないのでどうしようもないです。 質問に答えてください。
- notnot
- ベストアンサー率47% (4900/10358)
UNIX形式時間表示とは何のことでしょう?unixでは普通、時間表示は24時間表示ですが。 もしかして、1970-01-01 00:00:00 からの積算秒のこと? どういう入力からどういう出力を得たいのでしょう? >フリーソフト&方法を知っていらっしゃる方 unix上でですか?Windows上でですか?
補足
返答ありがとうございます。 Windows上でを探しています。 しかし、Unix上でも方法があるならば 教えていただけないでしょうか。 宜しくお願い致します。
補足
補足になってなく大変申し訳ありません。 1970-01-01 00:00:00 からの積算秒で 表記したいと考えています。 現在windowsで txt形式にてデータがある状態です。 データはプロキシサーバのログで 一行に時間、アクセスIPなど 一回の通信でアクセスされた状態になっています。 プロキシサーバログをエクセルで吐き出し、 時間のところがUNIX形式になっているため、 積算秒で表記したいと考えています。