0Pricing
Lua Academy · レッスン

日付をフォーマットする

読みやすい日付文字列を作成します。

「日付をフォーマットする」はCoddyKit上の無料Lua Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLua Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Lua Academyコースには全4レッスンが含まれています。

出力を整える

os.date で時刻を書式化できることは、すでに学びました。このレッスンでは、日付の表示方法を正確に決める小さな % コード、つまり書式文字列そのものに注目します。

これらを使いこなせば、2024-03-09 のような形式から Saturday, March 9 のような形式まで、あらゆるスタイルで日付を表示できます。

print(os.date("%Y-%m-%d"))

年、月、日

基本的な日付コードは、4桁の年を表す %Y、2桁の月(01-12)を表す %m、2桁の日(01-31)を表す %d です。

ここにあるダッシュのように、コードではない文字は、書かれたとおりに出力されます。

print(os.date("%Y/%m/%d"))
print(os.date("%d-%m-%Y"))

時、分、秒

時刻には、24時間形式の時を表す %H(00-23)、分を表す %M、秒を表す %S を使います。

それぞれは2桁で、必要に応じて先頭にゼロが補われるため、時刻をきれいに揃えられます。

print(os.date("%H:%M:%S"))

12時間制

AM/PM 形式を使いたい場合は、12時間形式の時を表す %I(01-12)と、AM または PM を表す %p を使います。

これらを組み合わせると、多くの人にとって読みやすい 03:45 PM のような時刻になります。

print(os.date("%I:%M %p"))

曜日の名前

Lua では、曜日を完全な名前で表示できます。%A は Monday のような完全な名前を、%a は Mon のような短縮形を返します。

これらの名前はシステムのロケールに従うため、マシンに設定されている言語で表示されます。

print(os.date("%A"))
print(os.date("%a"))

月の名前

月も同じように扱えます。%B は March のような完全な月名を、%b は Mar のような短縮形を返します。

名前と数値を組み合わせると、見出しのような日付文字列を作成できます。

print(os.date("%B %d, %Y"))

読みやすい完全な日付

コードと通常のテキストをつなげることで、ほとんどどのような文でも作成できます。ここでは、曜日、月、日、年を組み合わせて読みやすい1行にしています。

カンマや空白は、コードの間に置かれた通常の文字にすぎないことに注目してください。

print(os.date("%A, %B %d, %Y"))

保存した時刻を書式化する

書式化できるのは現在の時刻だけではありません。2番目の引数として保存した時刻の数値を渡せば、同じ形式で任意の時点を書式化できます。

ログで過去の各イベントがいつ発生したかを示す方法がこれです。

local t = os.time({year=2022, month=12, day=25})
print(os.date("%A, %B %d, %Y", t))

年内の日数と曜日番号

数えるために便利なコードもいくつかあります。%j は年の何日目か(001-366)を、%w は曜日番号を返します。日曜日が 0 です。

これらは、進行状況バーやスケジュール処理に役立ちます。

local t = os.time({year=2024, month=2, day=1})
print("Day of year:", os.date("%j", t))
print("Weekday num:", os.date("%w", t))

パーセント記号のエスケープ

出力にパーセント記号そのものを含めたい場合はどうすればよいでしょうか。%% と書くと、Lua は1つの % を出力します。

これにより、パーセント記号が書式コードの隣にある場合でも混乱を避けられます。

print(os.date("Loaded 100%% on %Y-%m-%d"))

ファイル名を作成する

よくある方法として、ファイル名にタイムスタンプを含めます。%Y%m%d_%H%M%S のようなコードを使うと、並べ替えやすく空白のない文字列を作成できます。

この形式のファイル名は、どのフォルダーでも自然に時系列順に並びます。

local name = os.date("backup_%Y%m%d.txt")
print(name)

理解度チェック

目的に合ったコードを選びましょう。

まとめ

書式文字列では、% コードと通常のテキストを組み合わせます。主なコードは、日付の %Y %m %d、時刻の %H %M %S、名前の %A %B です。

12時間形式には %I %p、パーセント記号そのものには %% を使い、過去の時点を書式化するには時刻の数値を渡します。これらを使えば、日付を自由な形式に整えられます。

よくある質問

「日付をフォーマットする」レッスンは無料ですか?

はい。「日付をフォーマットする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Lua Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Lua Academyコースには全4レッスンが含まれています。

「日付をフォーマットする」で何を学びますか?

読みやすい日付文字列を作成します。 ブラウザで直接実行するハンズオンコードでLua Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Lua Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLua Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「日付をフォーマットする」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLua Academyレッスンでコードを書いて実行できますか?

はい。すべてのLua Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. os.timeとos.date
  2. 日付をフォーマットする
  3. 時間の算術演算
  4. 期間を測定する
← Lua Academyに戻る