n日後の日付を調べるプログラム

30分プログラム、その789。n日後の日付を調べるプログラムを作ってみました。
EMチャージの30日定額の終了日が知りたかったので作ってみました。もっとも、作ったあとで管理画面で見れることを知りましたけれども。

使い方

$ gosh 789-after.scm 0
2010-08-01

$ gosh 789-after.scm 10
2010-08-11

$ gosh 789-after.scm 20
2010-08-21

ソースコード

#! /opt/local/bin/gosh
;; -*- mode:scheme; coding:utf-8 -*-

(use srfi-19)
(define n 30)


(define (after-time-from n from)
  (make-time 'time-utc n (+ (* 60 60 24 n)
			    (time-second from))))

(define (time->string time)
  (date->string (time-utc->date time)
		"~Y-~m-~d"))

(define (main args)
  (for-each print
	    (map time->string
		 (map (cute after-time-from <> (current-time))
		      (map x->number (cdr args))))))