日付に曜日を付けて表示する

SharePointリストに登録した日付(例:2025年2月23日)に、曜日を付けて「2025年2月23日(日)」の形で表示する方法。Power Automate と Power Apps で、書き方が少し違う。どちらも、言語に ja-JP を指定するのがポイント。

Power Automate の場合

日付を整形する関数

formatDateTime('<timestamp>', '<format>', '<locale>')

「複数の項目の取得」アクションで取得したリストの field_12 を、For each で1件ずつ取り出して、「作成」アクションで整形する場合を例にする。

  1. 言語を指定しない場合は、曜日が英語になる。
formatDateTime(items('For_each')?['field_12'], 'yyyy年M月d日(ddd)')

→ 2025年2月23日(Sun)

  1. 最後に 'ja-JP' を追加すると、曜日が日本語になる。
formatDateTime(items('For_each')?['field_12'], 'yyyy年M月d日(ddd)', 'ja-JP')

→ 2025年2月23日(日)

月と日が1桁のときに「02月」「03日」としたくない場合は、フォーマットを M と d にする。「02月23日」のように0埋めしたい場合は、MM と dd を使う。

Power Apps の場合

Text 関数の3つ目の引数に、言語(ja-JP)を渡す。コレクション内の ThisItem.工事日 を例にする。

Text(ThisItem.工事日, "yyyy年m月d日(ddd)", "ja-JP")

→ 2025年2月23日(日)

  • ddd は曜日の短い形(日)、dddd は長い形(日曜日)になる。1文字だけ欲しいときは ddd を使うと、文字を切り出す処理が要らない。
  • 月と日を0埋めしたい場合は、mm と dd にする。
  • 【推定】日本語の曜日が、ddd で1文字になるかは、環境によって異なる場合がある。アプリで表示を確認してから使うこと。

フォーマットの書き方

表示したいものPower AutomatePower Apps
2025年2月23日(日)'yyyy年M月d日(ddd)'"yyyy年m月d日(ddd)"
2025年02月23日(日)'yyyy年MM月dd日(ddd)'"yyyy年mm月dd日(ddd)"
2025年2月23日(日)(全角)'yyyy年M月d日(ddd)'"yyyy年m月d日(ddd)"
2025年2月23日 日曜日'yyyy年M月d日 dddd'"yyyy年m月d日 dddd"

月の書き方が、Power Automate は大文字の M、Power Apps は小文字の m になる点に注意。

注意点

画面の表示や、関数の挙動は、お使いの環境やバージョンによって異なる場合がある。

SharePointの日付は、UTC(協定世界時)で保存されている場合がある。日付だけの列でも、表示が1日ずれることがあるので、結果を実際の日付と照らし合わせること。【一般論】

Power Apps で、日付型ではなく文字列として日付を持っている列は、DateValue(ThisItem.工事日) で日付に変換してから Text に渡す。日付型の列なら、そのまま Text に渡せばよい。【要確認】

日付変換はややこしい。他にもいい方法があるかもしれん。

NOTICES

  • 記事内容は実装させたものがほとんどですが自己責任で参考にしてください。

TO HEADER