Perlの質問です。
登録日
2006/1/1
2006/2/10
2006/2/20
2006/3/15
の様なテキストファイルがあります。
このファイルを読み込んで、各レコードの値ごとに
この登録日より90日後の日付を算出したいのですが、どのようなコードになるのでしょう。
ちなみに現在から何日後の日付を出すというサンプルは見つけました。
http://www.aimix.jp/cgi/accdatecnt.html
しかしこれはtimeで現在日時を取り出して、それに何日間を秒単位にして加算するということなので、理屈はわかるのですが、いまいち今回のやりたいことに結び付けれません。
timeが1970年1月1日 00:00:00 から現在までの秒数を算出する関数ですから
このように、先のリストの例でいうと、2006/1/1 00:00:00は、1970年1月1日 00:00:00 から何秒目なのかを算出できればなんとか出来そうなんですが・・・
No.1ベストアンサー
- 回答日時:
No.4
- 回答日時:
がると申します。
そういった計算は、一度ユリウス日というものに変換してから計算すると非常に楽になります。
http://web.kyoto-inet.or.jp/org/my-art/library/c …
http://www.dinop.com/vc/getjd.html
ユリウス日は1つの数値なので、該当の日付をユリウス日に変換して+90してグレゴリウス歴(通常の年月日)に変換しなおすと、非常に簡単に、n日後を求めることが出来るようになります。
No.3
- 回答日時:
CPAN モジュールのDate::Calc を用いて以下のような感じ
----------------------------------------------------------------
use Date::Calc qw(Add_Delta_Days);
while(<DATA>){
($year,$month,$day)= split('/',$_);
($y, $m, $d) = Add_Delta_Days($year,$month,$day, 90);
print "$y/$m/$d\n";
}
__DATA__
2006/1/1
2006/2/10
2006/2/20
2006/3/15
ご親切なコードありがとうございます。
CPANというのを調べてみましたけれど、このモジュールのインストールはWindowsでは結構難しそうですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- その他(悩み相談・人生相談) 現在16歳の高校一年生です。 今、ガストのデリバリーのアルバイトを 応募してみようかな、と思っている 1 2023/03/26 13:13
- 雇用保険 育児給付金について 1 2022/08/12 10:51
- 数学 登録番号と年月日と時間から作成した数字列を出来る限り小さくする方法 7 2022/06/03 16:10
- Excel(エクセル) 至急回答お願いいたします><Excel関数について 8 2022/03/25 10:34
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- その他(年金) 父が東京都の職員でした年金を受給しています。年金の現況届について質問があります。 9 2023/06/13 19:19
- その他(ビジネス・キャリア) 今時の派遣社員って仕事が出来ないだけじゃなく計算も出来ないのか? 8 2022/07/22 20:53
- Excel(エクセル) Excelの関数で可能でしょうか、日付や式の値の自動更新 4 2023/05/19 17:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
VB6.0の「vbFromUnicode」はVB....
-
数字→漢数字変換
-
C++ 文字列変数と16進数の比較
-
16進をASCIIコードに変換する...
-
C#でテキストボックスに入力し...
-
EXCEL VBA
-
【C++/CLI】int型からString型...
-
VBでUTF-8で出力
-
C言語のGPS問題が分かりません。
-
テキストボックス(###,#)の表...
-
RGBとHSLを相互変換する際の端...
-
Visual C#のエラーについて
-
vb.netで漢数字からアラビア数...
-
VC++ std::stringからLPCWSTRに...
-
対数変換のついて
-
16進コード文字列を文字列に変換
-
画像圧縮の離散コサイン変換,...
-
VBA 変数名に変数を使用したい。
-
DataTableに特定のフィールドが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
VB6.0の「vbFromUnicode」はVB....
-
16進をASCIIコードに変換する...
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
【C++/CLI】int型からString型...
-
C++ 文字列変数と16進数の比較
-
vb6の桁数指定
-
2の補数の計算について
-
VBAのstrConv関数のUNICODE変換...
-
VB6.0 String型→Long型変換方法...
-
WORD型をCString型に変換する方法
-
数字→漢数字変換
-
C#でListとDictionaryの判別方法
-
Boolean型変数の値を反転する方法
-
文字型を日付/時刻型に変換する...
-
textbox.textやlabel.captionの...
-
エクセルでメールヘッダーを解...
-
2進数から10進数へ変換
-
対数変換のついて
おすすめ情報