PHPで週の最初の日(週初め)を取得する方法
PHPで現在の週の最初の日を取得したい場合、date() 関数と strtotime() 関数を組み合わせることで簡単に実現できます。以下に具体的なコード例を紹介します。
例1:今週の最初の日を取得する
<?php
$res = date('l - d/m/Y', strtotime("this week"));
echo "First day = ", $res;
?>出力結果
上記のコードを実行すると、次のような出力が得られます。
First day = Monday - 09/12/2019
解説
strtotime("this week") は、現在の週の開始日時を表すタイムスタンプを返します。それを date() 関数に渡すことで、「曜日 - 日/月/年」の形式で週初めの日付を表示しています。PHPではデフォルトで月曜日が週の始まりとして扱われます。
例2:日曜日を週の最初の日として表示する
続いて、日曜日を週の最初の日として扱いたい場合の例を見てみましょう。
<?php
echo "Displaying Sunday as first day of a week...\n";
$res = date('l - d/m/Y', strtotime("sunday 0 week"));
echo "First day (next week) = ", $res;
?>出力結果
このコードを実行すると、以下のような結果が出力されます。
Displaying Sunday as first day of a week... First day (next week) = Sunday - 15/12/2019
解説
strtotime("sunday 0 week") の「0 week」は「0週間後」を意味します。つまり、基準となる日曜日から見て同じ週内の日曜日の日付を取得できます。もし翌週の日曜日を取得したい場合は、「1 week」のように指定することで柔軟に対応可能です。
まとめ
strtotime() 関数は「this week」や「sunday 0 week」のような自然言語形式の日付表現を解析できるため、週の最初の日を取得する際に非常に便利です。用途に応じてフォーマット文字列を変更すれば、日本式の「Y年m月d日」形式などにも簡単に対応できます。
-
Android SQLiteでタイムスタンプから今週の最初の日の始まりを取得する方法
Android SQLiteの概要 SQLiteは、デバイス上のテキストファイルにデータを格納するオープンソースのSQLデータベースです。AndroidにはSQLiteの実装が組み込まれており、リレーショナルデータベースの機能をすべてサポートしています。JDBCやODBCのような接続を確立することなく、このデータベースにアクセスできます。 実装例:今週の最初の日のデータを取得する この例では、Android SQLiteでタイムスタンプから「今週の最初の日(日曜日)の始まり」を取得し、その週のデータのみを抽出する方法を示します。ポイントはSQLのDATE()関数とweekday 0、-7 d
-
【Android】ConcurrentLinkedDequeで先頭の要素を取得する方法を解説
ConcurrentLinkedDequeとは?実装例に入る前に、まずConcurrentLinkedDequeについて簡単におさらいしておきましょう。ConcurrentLinkedDequeは、リンクノードをベースとした容量制限のない(アンバウンドな)両端キュー(Deque)です。内部がロックフリーのアルゴリズムで実装されているため、複数のスレッドから安全に要素へアクセスできるのが最大の特徴です。この記事では、AndroidアプリにおいてConcurrentLinkedDequeから先頭の要素を取得する方法を、実際のコード例とともにわかりやすく解説していきます。実装手順ステップ1:Andr