Python スクリプトの単体テストを行っており、月の異なる日にスクリプトの実行をシミュレートしたいと考えています。
コマンドラインからスクリプトを起動するときに日付/時刻を設定する方法はありますか?
システムの日付/時刻を変更するアクセス権がなく、テストしたい日付でスクリプトをハッキングしたくない.
乾杯、 ドナル
解決策を見つけたので、faketime という Linux ツールを使用します。
[10:45:03] $ faketime '2008-12-24 08:15:42' /bin/date
Wed Dec 24 08:15:42 GMT 2008
おそらくLD_PRELOADのトリックでこれを達成するかもしれませんが、私の意見では、よりクリーンな解決策はdatetime.dateクラスをモックすることです。詳細については、この質問への回答を確認してください
システム時間は変更されませんが、サブシェルでは異なるように、シェルで日付/時刻を直接設定する方法はないと思います
ただし、2つの解決策があります
1) TZ を使用できる限られた時間のセットの場合、例
TZ="GMT+6" date
2) Virtualbox のような VM で Python プログラムを実行し、システム時刻を設定します。VMで!