質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
date

dateは、date型や日付に関する関数や処理についてのタグです

DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

1回答

386閲覧

整形文字の「o」と「Y」の違い

aaaaaaaa

総合スコア501

date

dateは、date型や日付に関する関数や処理についてのタグです

DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

0クリップ

投稿2018/04/02 10:19

phpのdate()やgmdate()の第一引数で使えるフォーマット文字のうちYとoは、西暦が表示できます。
ところでこの「o」は、PHPマニュアルによれば

ISO-8601 形式の週番号による年。これは Y ほぼ同じだが、ISO 週番号 (W)が前年あるいは翌年に属する場合はそちらの年を使うという点が異なる(PHP 5.1.0 で追加)。

という違いがあるそうです。

この説明のうち

ISO 週番号 (W)が前年あるいは翌年に属する場合はそちらの年を使う

というのは、年を跨いでいる週のうち日数が多いほうの年に属するよということであっておりますか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

defghi1977

2018/04/02 10:27

こういうのは実際に試してみると良いよ
think49

2018/04/02 11:42

「引用」は引用元(URL)まで書いて、成立します。
guest

回答1

0

ベストアンサー

date() の "o"

format 文字説明戻り値の例
oISO-8601 形式の週番号による年。これは Y ほぼ同じだが、ISO 週番号 (W)が前年あるいは翌年に属する場合はそちらの年を使うという点が異なる(PHP 5.1.0 で追加)。例: 1999 あるいは 2003

ここまでキーワードが揃っているのなら、ISO 8601 を調べましょう

ISO 8601

年と週と曜日

この記法では、年が、通常の場合の年とは異なる年になる場合がある。POSIXのstrftimeにある%Gはこの記法の年を表示する。JIS X 0301にも具体例の例示がある。

YYYY-Www-D と表記する。ww は年内の暦週の番号で、年の第1週は 01、最終週は 52 または 53 となる。

  • D は曜日を表し、月曜日が 1、日曜日は 7 である。「8」「9」は表記数値とされない(エラー扱い)。
  • 例:
    • 2004-W14-4 (2004W144)
      2004年の第14週の木曜日、すなわち4月1日を表す。

この記法では、ある年における「最初の木曜日を含む週が、その年の第1週である。」と規定されている。

  • 「その年の第1週は、1月4日を含む週である。」としても、基準としては等しい。
  • 具体例を以下に示す。年初において以下の曜日に該当する場合、その日は新年の第1週の日としてではなく、旧年最終週の日として扱う。
    • 1月1日金曜日・1月2日土曜日・1月3日日曜日--2010年が、これに該当する。
    • 1月1日土曜日・1月2日日曜日--2011年がこれに該当。
    • 1月1日日曜日--2012年がこれに該当。
  • 同様に、年末において以下の曜日に該当する場合、その日は当年最終週の日としてではなく、翌年第1週の日として扱う。
    • 12月29日が月曜日の場合。
    • 12月30日が月曜日または火曜日の場合。
    • 12月31日が月曜日・火曜日・水曜日のいずれかの場合。

下記リンク先の「2.3. 暦週日付」にも分かりやすくまとめられています。

Re: aaaaaaaa さん

投稿2018/04/02 11:40

編集2018/04/02 12:40
think49

総合スコア18156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問