日付をフォーマットする
読みやすい日付文字列を作成します。
「日付をフォーマットする」は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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- os.timeとos.date
- 日付をフォーマットする
- 時間の算術演算
- 期間を測定する