日付(日、時間、時刻)関連のtipsを書いてゆきます
テキストから日付を取り出す
テキスト(改行ありの文字列)から、すべての日付情報を抽出してリストにします
これを実現する2種類のアクションがあります。一つは次の
[入力からテキストを取得] (2)
で、「入力(この画像では「テキスト」)」をタップして、種類オプションで日付を選びます
この2つのアクションには1つだけ違いがあって、前者(1)は日付を含まないテキストを入力しても出力しないだけでエラーになりませんが、後者(2)はエラーになり、処理が止まってしまいます。それ以外の動作は同じに思います。処理は
機能 | 入力 | 出力 |
---|---|---|
日時 | 2023年6月23日午後4時35分 | 2023/06/23 16:35 |
日 | 2023/6/23 | 2023/06/23 12:00 |
時 | 16:35 |
<today> 16:35 |
注意点は
- 上の表の出力は、日付フォーマット:中、時間フォーマット:短 にした場合
- 半角スペースで分割して読み取る。全角文字が日時情報の前後にあると読み取れない場合がある
- 時刻情報だけの場合は実行した日付となる(上の表の
<today>
には実行した日が入る) - 日付情報だけの場合12:00の時刻となる
- 午前/午後、YYYY/MM/DD、YYYY-MM-DD、年月日、などは読み取る模様
- 存在しない日や時刻は読み取らない(2023年3月32日→無視)
- うるう年は考慮している(2020年2月29日→2020/02/29、2021年2月29日→2021/03/01)
年月日時分
年、月、日、の数値を別々の変数に取得すると、乗り換え検索のフォームの入力などに利用できます。以下のアクションで変数“日”に今日の日付情報が0パディングで設定できます
[日時/{現在の日付}]
[変数/変数{“日”}を{日時}に設定]
オプション: 日付として>
日付フォーマット: カスタム
カスタムフォーマット: dd
変数名の“日”は任意の文字列です。以下に変数アクションで{日時}をタップした時の設定例を示します
情報 | フォーマット | 2019/08/23(金) 09:51:38の例 |
---|---|---|
年 | yyyy | 2019 |
年 | yy | 19 |
月 | MM | 08 |
日 | dd | 23 |
時 | HH | 09 |
分 | mm | 51 |
秒 | ss | 38 |
曜日 | E | 金 |
フォーマット文字列は複数設定することや任意の文字列を加えることもできます
* カスタムフォーマットの設定はアクションをコピーしたりすると消えて、デフォルトに戻ってしまいます。動きがおかしかったらチェックしてみましょう
**このTipsは @Kynako さんにコメントで教えていただきました。ありがとうございました