Flutter(Dart)で週の先頭日付(月曜日)を求める方法

2024年6月16日日曜日

t f B! P L

はじめに

多くのアプリケーションにおいて、特定の週の始まりの日付を求めるシーンがあります。特に、週報を作成する業務や、週単位でスケジュールを管理するアプリでは、週の最初の日を正確に把握する必要があります。この記事では、Dartプログラミング言語を使用して、任意の日付からその週の月曜日を計算する方法を紹介します。

月曜日の日付を求めるコード

Dartには日付と時刻を扱う強力な組み込みライブラリがあります。DateTime クラスを使用すると、日付に関連するさまざまな操作を簡単に行うことができます。以下に、特定の日付からその週の月曜日を求めるための関数を示します。

DateTime findMonday(DateTime date) {
  // 曜日を取得(DateTime.monday は 1)
  int currentDayOfWeek = date.weekday;

  // 現在の日から月曜日までの差を計算
  int difference = currentDayOfWeek - DateTime.monday;

  // その差を引いて月曜日の日付を得る
  DateTime monday = date.subtract(Duration(days: difference));

  return monday;
}

void main() {
  DateTime now = DateTime.now();  // 現在の日付と時刻
  DateTime monday = findMonday(now);  // 現在の週の月曜日
  print('今週の月曜日は: $monday');
}

このコードは、まずDateTime オブジェクトの weekday プロパティを使用して現在の曜日を取得します。次に、現在の曜日から月曜日までの日数を計算し、その日数だけ日付を戻すことで、週の始まりである月曜日の日付を求めています。

このシンプルな関数を使うことで、任意の日付に関してその週の初めの日を特定することが可能となり、多くの日付関連の処理を効率化することができます。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ