すべての記事

Tabpleお知らせ

「3時」は午後3時:書くだけで期限が入るクイック追加と、3つのアプリが同じ答えを出すまで

日付欄を開く必要はありません。午前・午後を省くと業務時間として読み、読み違えたら「無視」を一度押せば元に戻ります。

この記事は韓国語の原文を日本語にしたものです。 不自然な訳に気づいたら、お知らせください

タスクを書くたびに日付欄を開いて選ぶのは手間です。Tabpleのクイック追加では、タイトルに日付も一緒に書けば済みます。「明日3時に会議」と書くと、期限は明日の午後3時、タイトルは「会議」になります。日本語・英語・韓国語のどれで書いても同じルールで読みます。どこで使えるか、どんな表現をどう読むかをまとめました。同じ文について、Web・デスクトップ・モバイルのアプリがそれぞれ違う読み方をしていた問題を、どう直したかも書きました。

「明日」まで書いた時点で日付のチップが出て、「3時」を足すと午後3時になります。通知まで読んだあとにEnterを押すと、タイトルには「会議」だけが残ります。

どこで使えるか

いちばん早いのはクイック追加のウィンドウです。Webではどの画面からでも⌘⇧Y(WindowsではCtrl+Shift+Y)、デスクトップアプリでは⌘⇧N(WindowsではCtrl+Shift+N)で開きます。カンバンの列の下にある「新しいタスク」、リスト表示、アイゼンハワー・マトリクス、週表示のカレンダーで直接入力するときも同じルールで読みます。デスクトップとモバイルのアプリのクイック追加も同じです。日付として読んだ部分は入力中に「自動認識」のチップで表示され、タイトルからは外れます。意図と違う読み方をしていたら、チップの横の「無視」を押してください。その入力では自動認識がオフになり、書いた文がそのままタイトルになります。

こう書けば、こう読みます

  • 日付今日・明日・明後日・明々後日(あした・あさってのようにひらがなでも)、曜日、「今週金曜」「来週月曜」「再来週の金曜」。「金曜までに提出」は10月23日、タイトルは「提出」です。

  • 何日後「3日後」は今日から3日後の10月20日です。「2週間後」「3か月後」も読み、「30分後」「1時間半後」は時刻まで決めます。

  • 日付を直接「10月20日」「10/20」「20日」「来月5日」「2026年11月3日」。「10/23(金)」のように曜日を括弧で添えても読みます。

  • 時刻「午後3時」「3時半」「15時30分」「15:00」「正午」「夕方6時」「夜11時」。午前・午後を省くと、下のルールで読みます。

  • 後ろに付けた言葉「金曜までに」「3時頃」「明日中に」「3時ちょうどに」のように助詞や「頃」を付けても読み、その言葉ごとタイトルから外します。日本語は単語の間をあけないので、外したあとは前後をそのままつなげます。「企画書を明日までに提出」のタイトルは「企画書を提出」です。

  • 期間デスクトップ・モバイルのアプリでは「10月20日〜22日」「3時〜5時」を開始と終了として入れます。Webは期間を1つの期限にまとめず、タイトルにそのまま残します。

クイック追加のウィンドウでは、開始の通知も一緒に書けます。「30分前に通知」「1時間前に通知」「前日に通知」「開始時に通知」を読みます。「通知」だけを書いた場合は読みません。「通知機能の実装」のように、通知がタイトルの一部であることが多いからです。「30分前に通知メールを作る」のように通知の後に作るものが続くときも、タイトルとして残します。

午前・午後を省くと業務時間として読みます

「3時に会議」が午前3時であることはまずありません。そこで、午前・午後を書かない時刻は業務時間として読みます。1時から6時までは午後(13〜18時)、7時から11時までは午前、12時は正午です。「3:30」のようにコロンで書いても同じで、午後3時30分になります。24時間制で書いた「14時」や、先頭に0を付けた「03時」「03:30」は書いたとおりに読みます。

12時間の時計の文字盤。1時から6時は強調色、7時から11時は明るい灰色、12時は暗い灰色で塗られ、外側に13〜18、07〜11、12と書かれている。中央に「3時」、その下に15:00。右に「1〜6時→午後(13:00〜18:00・「3:30」も15:30)」「7〜11時→午前」「12時→正午」、その下に「書いたとおり:14時・03時・03:30・午後3時」「夜・深夜・今夜:夜1〜5時は翌日の未明・夜12時は午前0時」「過ぎた時刻:午前10時に「7時」→明日07:00」。
3つのアプリが共有する正本パーサーのルールです。外側の数字が、実際に入る24時間制の時刻です。

「夜」を付けると少し変わります。「夜1時」から「夜5時」までは日付が変わった後の未明で、「夜12時」は午前0時です。「今夜」も同じで、「今夜9時 飲み会」は今日の21:00、「今夜1時 デプロイ」は明日の01:00になります。「24時までに提出」の24時は、その日が終わる午前0時(明日の00:00)です。日付なしで時刻だけを書き、その時刻がもう過ぎていれば明日にします。午前10時に「7時 ジョギング」と書くと明日の07:00です。

日付として読まない言葉

数字が入っていても、すべてが日付とは限りません。「バージョン2.5」「3日間のワークショップ」「1日目の振り返り」「3時間の会議」「2時限目」「16:9の画面」は期限を作りません。後ろに続く字で意味が変わるときも、日付として読みません。「明日香さんと面談」も人の名前なので期限を作りません。「週3日勤務」「1日1回」のような回数や、「説明日程」のように長い言葉の中にある「明日」も日付として読みません。カレンダーにない日付も除外します。「2月30日 締め切り」「13月5日 会議」は期限を作りません。似た別の日付にこっそり読み替えることもしません。

同じ文に、3つの答え

この機能は、Web・デスクトップ・モバイルでそれぞれ別々に作られていました。アプリごとに必要なときに少しずつ直してきたため、同じ文でも読み方が食い違うようになっていました。「내일 3시」(明日3時)を、Webは時刻なしで日付だけ、デスクトップは午前3時、モバイルは午後3時と読んでいました。「3일 후」(3日後)はWebが11月3日、デスクトップが10月3日、モバイルが10月20日でした。「다음주 월요일」(来週の月曜日)はWebとデスクトップが10月26日、モバイルが10月19日でした。期待値の表がまだ104件だったころ、3つのアプリの古いパーサーはWebが46件、デスクトップが63件、モバイルが73件を正しく読めていました。

同じ表の今。3つのアプリとも「明日3時」は15:00、「3日後」は10月20日、「来週の月曜日」は10月19日。正解数:期待値の表324件のうち、3つのアプリとも324。
表。3行×Web・デスクトップ・モバイル。「내일 3시」(明日3時):日付のみ・03:00・15:00、「3일 후」(3日後):11月3日・10月3日・10月20日、「다음주 월요일」(来週の月曜日):10月26日・10月26日・10月19日。今の答えと違うマスにはXの印。下の正解数:期待値の表104件のうち46・63・73。
境目を左にドラッグすると、今の答えに切り替わります。今は10月17日(土)午前10時です。

そこでパーサーを1つのファイルにまとめました。Webに正本を置き、デスクトップとモバイルには1文字も違わないコピーを置きます。このファイルはほかのコードを何も読み込みません。以前のWebとデスクトップが頼っていた日付ライブラリ(chrono-node)も使いません。モバイルのJavaScriptエンジンでもそのまま動く必要があり、3つのアプリのビルド設定がそれぞれ違うからです。さらに、入力と正解を1行ずつ書いた期待値の表を作り、3つのリポジトリが同じ表でテストします。どれか1つだけを直すと、ほかの2つのアプリのテストが失敗します。

parseDueDate.fixtures.jsonjson
{"input": "내일 3시 회의",
 "expect": {"date": "2026-10-18", "time": "15:00", "title": "회의"}},
{"input": "明日3時に会議",
 "expect": {"date": "2026-10-18", "time": "15:00", "title": "会議"}},
{"input": "3일 후 마감",
 "expect": {"date": "2026-10-20", "time": null, "title": "마감"}},
{"input": "2.5 버전", "expect": null},

表を作りながら、曖昧だったルールも決めました。「来週月曜」は次の週の月曜日で、週がいつ始まるかは自分の設定に従います。週の始まりを日曜日にしている場合、日曜日の10月18日に書いた「来週月曜」は10月26日です。既定の月曜日始まりなら、すぐ翌日の10月19日です。「今週金曜」と曜日だけの「金曜」は今日の次に来るその曜日で、今日がその曜日なら1週間後です。年を省いた日付は、書いたとおり今年の日付として読みます。10月17日に「10月5日 決算」と書くと、もう過ぎた10月5日になります。日本語と英語の例を加えた今の表は324件で、3つのアプリすべてが全件を正しく読みます。

英語と韓国語も、同じルールで読みます

英語で書いたタイトルも読みます。「call mom friday 3pm」は10月23日15:00、タイトルは「call mom」になります。「tmr 9am gym」は明日の09:00、「in 3 days」は10月20日です。午前・午後なしの「at 3」も午後3時として読み、「tomorrow evening at 7」のように時間帯を書けばそれに従います。「tonight at 9」は今日の21:00です。開始の通知は「remind me 30 min before」のように書きます。

韓国語でも同じです。「내일 3시 회의」(明日3時 会議)は明日の15:00、タイトルは「회의」(会議)になります。午前・午後を省いた「3시」(3時)は韓国語でも午後3時で、「밤 1시」(夜1時)は翌日の未明です。

次にタスクを書くときはクイック追加を開いて(Webは⌘⇧Y、デスクトップアプリは⌘⇧N)「明日3時に会議」と書いてみてください。詳しい使い方はTabpleガイドのクイック追加にあります。思ったのと違う読み方をする表現があれば教えてください。期待値の表に1行足して、3つのアプリを一緒に直します。

Tabpleを始める