Swiftで日付に1日を追加する方法!Calendarを使った日付操作の基本
Swiftで日付に1日を追加する方法
Swiftで日付(Date)に1日を追加するには、まず基準となる日付オブジェクトを作成し、そこにCalendarを使って指定した日数を加算します。本記事では、その具体的な手順をサンプルコードとともにわかりやすく解説します。
ステップ1:基準となる日付を作成する
まず、今日の日付を持つDateインスタンスを作成しましょう。引数なしで初期化すると、現在の日時が自動的に取得されます。
let today = Date()
ステップ2:Calendarで日数を追加する
次に、作成した日付を変更します。日数の加算にはCalendar.current.date(byAdding:value:to:)メソッドを使用します。1日後の日付を取得したい場合は、以下のように記述します。
let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: today)!
.dayコンポーネントに対してvalue: 1を指定することで、正確に1日後の日付が得られます。逆に過去の日付にしたい場合は、負の値を指定してください。なお、このメソッドの戻り値はオプショナル型(Date?)のため、ここでは強制アンラップ(!)を使っています。実運用では、安全のためにif letやguard letでのアンラップを推奨します。
完全なサンプルコード
元の日付と変更後の日付の違いを確認できるよう、print文を追加した完全なコードがこちらです。
let today = Date()
print(today)
let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: today)!
print(modifiedDate)
実行結果
Playgroundやシミュレーターで上記のコードを実行すると、コンソールに2つの日時が出力されます。両者を比較すると、変更後の日付がちょうど1日後になっていることが確認できます。

応用:さまざまな時間単位での加算・減算
同じメソッドを使えば、時間・分・月・年なども自由に操作できます。いくつか例を挙げます。
// 1週間後
let nextWeek = Calendar.current.date(byAdding: .day, value: 7, to: today)!
// 1ヶ月前
let lastMonth = Calendar.current.date(byAdding: .month, value: -1, to: today)!
// 3時間後
let afterThreeHours = Calendar.current.date(byAdding: .hour, value: 3, to: today)!
// 1年前
let lastYear = Calendar.current.date(byAdding: .year, value: -1, to: today)!
Calendarによる日付操作はタイムゾーンや夏時間も考慮してくれるため、単純に秒数を足すよりも安全で正確です。予約日や期限の計算など、日常的な開発でぜひ活用してください。
-
OneNoteで日付と時刻を追加・編集する方法
OneNoteで新しいページを作成すると、ノートブックに日付と時刻のスタンプが自動的に追加されます。この自動の日付と時刻は編集可能で、OneNoteが提供するタイムスタンプ機能を使えば、ページに自由に日付や時刻を追加することもできます。さらに、現在の日付や過去の日付を追加したり、特定の日付を入力して祝日などの予定を記録しておくことも可能です。 OneNoteで日付と時刻を挿入する方法 タイムスタンプとは、ノートブックのページに日付や時刻を追加できるOneNoteの便利な機能です。OneNoteで利用できるタイムスタンプには、以下の3種類があります。 日付: 今日の日付を挿入します。 時刻:
-
Outlookでメールに有効期限を設定する方法【送信・受信メール両方に対応】
Outlookは、Microsoftが提供するメールクライアントソフトウェアです。連絡先やタスクの管理、ジャーナルの記録、会議用のカレンダースケジュールなど、多彩な機能を備えており、中でもメールによる情報交換に重点を置いています。企業では公式な連絡やデータ共有のために広く活用されており、そのような用途では、メッセージに有効期限を設定したい場面も少なくありません。本記事では、Outlookのメールに有効期限を追加する方法を詳しく解説します。 メールに有効期限を設定するメリット メールに有効期限を設定すると、重要なメールともう不要になったメールを簡単に仕分けできるようになります。有効期限は、送信す