Date Helpers
unlistedby Patrice Bour
Centralized date tools with keyboard-first interaction, natural language parsing, and full internationalization support.
Date Helpers
An Obsidian plugin that centralizes date-related tools with keyboard-first interaction, natural language parsing, and full internationalization support.
Pre-1.0 notice: The settings API may still evolve before reaching 1.0. See CHANGELOG.md for what changed between releases.
Installation
Community Plugins (Recommended)
- Open Obsidian Settings
- Navigate to Community Plugins and disable Safe Mode if needed
- Click Browse and search for "Date Helpers"
- Click Install, then Enable
Manual Installation
- Download
main.jsandmanifest.jsonfrom the latest release - Create folder
.obsidian/plugins/date-helpers/in your vault - Copy both files into the folder
- Reload Obsidian and enable the plugin in Settings → Community Plugins
Using BRAT
For beta testing with automatic updates:
- Install BRAT plugin
- Add beta plugin:
patrice-bour/obsidian-date-helpers - Enable Date Helpers in Settings → Community Plugins
Quick Start
Insert Dates with the Unified Picker
Via Trigger Character:
- Type
@@anywhere in your note - Choose an action tab (Insert Text / Insert Daily Note / Open Note)
- Navigate the calendar or use natural language
- Press
Enterto confirm
Via Command Palette (Cmd/Ctrl+P):
- Insert date as text (
Cmd/Ctrl+Shift+T) - Insert Daily Note link (
Cmd/Ctrl+Shift+D) - Open Daily Note (
Cmd/Ctrl+Shift+O)
Use Natural Language
Type expressions in the NLP field:
- "tomorrow", "next Monday", "3 days ago"
- "demain", "lundi prochain" (French)
- "morgen", "nächsten Montag" (German)
Convert Existing Text
- Select date text in your note (e.g., "tomorrow" or "2025-11-11")
- Run command: Convert selection to date
- Confirm to replace with formatted date or wikilink
Actions
The plugin provides three flexible actions:
| Action | Description | Output Example |
|---|---|---|
| Insert Date as Text | Insert formatted plain text | 2025-11-11 or November 11, 2025 |
| Insert Daily Note Link | Create wikilink to Daily Note | [[Journal/2025-11-11|November 11, 2025]] |
| Open Daily Note | Navigate to Daily Note | Opens/creates the note |
Language Support
Natural Language Parsing
| Language | Code | Status | Examples |
|---|---|---|---|
| English | en | Full support | "tomorrow", "next Monday", "3 days ago" |
| French | fr | Full support | "demain", "lundi prochain", "dans 3 jours" |
| German | de | Basic support | "morgen", "nächsten Montag" |
| Japanese | ja | Basic support | Via chrono-node |
| Portuguese | pt | Basic support | Via chrono-node |
| Dutch | nl | Basic support | Via chrono-node |
Date Formatting
Date formatting supports all locales via Luxon:
- Locale-aware month/day names
- Regional date order (DD/MM vs MM/DD)
- Configurable week start day
Configuration
Settings Overview
| Category | Options |
|---|---|
| General | Locale, week start day |
| Date Picker | Enable/disable, trigger characters |
| NLP | Enable/disable, auto-detect language, parsing mode |
| Daily Notes | Alias format, auto-create missing notes |
| Formats | Default presets for date/time/datetime |
Configuration Examples
French Journaler:
- Locale:
fr-FR - Week starts: Monday
- Daily Notes alias: Locale Long →
[[2025-11-11|11 novembre 2025]]
Developer (ISO dates):
- Default format: ISO 8601
- NLP: Disabled
- Output:
2025-11-11
Multilingual:
- Auto-detect language: Enabled
- NLP languages: EN, FR, DE
- Understands: "tomorrow", "demain", "morgen"
Format Presets
Date Formats
| Preset | Example |
|---|---|
| ISO 8601 | 2025-11-02 |
| Locale Short | 11/2/2025 or 2/11/2025 |
| Locale Long | November 2, 2025 |
| Verbose | Monday 3 November 2025 |
| Short Month | Nov 2, 2025 |
Time Formats
| Preset | Example |
|---|---|
| 24-hour | 14:30 |
| 12-hour | 2:30 PM |
| 24-hour with seconds | 14:30:45 |
DateTime Formats
| Preset | Example |
|---|---|
| ISO DateTime | 2025-11-02T14:30:45 |
| Readable | Nov 2, 2025 14:30 |
| Standard | 2025-11-02 14:30:45 |
Keyboard Shortcuts
Date Picker Navigation
| Key | Action |
|---|---|
← → ↑ ↓ | Navigate days |
Cmd/Ctrl + ←/→ | Navigate months |
Cmd/Ctrl + ↑/↓ | Navigate years |
Enter | Confirm selection |
Escape | Cancel |
Default Commands
| Command | Default Shortcut |
|---|---|
| Insert date as text | Cmd/Ctrl+Shift+T |
| Insert Daily Note link | Cmd/Ctrl+Shift+D |
| Open Daily Note | Cmd/Ctrl+Shift+O |
Troubleshooting
Natural language not working
- Check Enable NLP is ON in settings
- Verify your language is supported (EN, FR, DE, JA, PT, NL)
- Try enabling Auto-detect language
Wrong week start day
Change Week starts on in Settings → General Settings
Daily Notes links broken
- Enable Daily Notes core plugin
- Verify folder path matches your Daily Notes configuration
- Check date format compatibility
Format selector not visible
- Insert Text / Insert Daily Note: Format selector visible
- Open Daily Note: Format selector hidden (navigation only)
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Community Portal: date-helpers on community.obsidian.md
Documentation
- User Guide — detailed workflows, examples, and configuration tips
- Architecture Overview — technical design for contributors
Contributing
See CONTRIBUTING.md for development setup and guidelines, and the Code of Conduct.
License
Changelog
See CHANGELOG.md for version history.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.