Skip to content

time zone conversion and time zone aware org workflow in emacs

License

Notifications You must be signed in to change notification settings

md-arif-shaikh/tzc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 TZC - Time Zone Converter for Emacs

A powerful time zone conversion tool for Emacs that makes working with multiple time zones effortless.

License MELPA Emacs


📖 Table of Contents


🎯 About

TZC is a lightweight yet powerful Emacs tool designed to seamlessly convert times between different time zones. Whether you're coordinating across continents or managing complex scheduling, TZC has you covered.

Key Features

  • Full tzdata Support: Leverages the complete tzdata database (e.g., America/New_York) including daylight saving time rules

  • Custom Offset Support: Works with time offsets in ±HHMM format

    • Supports shorthand notation: ±HH, ±HHM (e.g., UTC+0530, GM+053)
  • Smart Auto-Completion: Browse all available time zones on your system (macOS/Linux)

    • Can't find your zone? Easily add it to tzc-favourite-time-zones
  • Multiple Conversion Modes: Handle various use cases from simple conversions to complex timestamp transformations


📦 Installation

From MELPA (Recommended)

TZC is available on MELPA. Follow the MELPA getting started guide for setup instructions.

With use-package:

(use-package tzc
  :ensure t)

Manual Installation:

  1. Clone the repository
  2. Add to your Emacs config:
(add-to-list 'load-path "/path/to/tzc")
(require 'tzc)

⚙️ Customization

Configure Your Favorite Time Zones

Customize tzc-favourite-time-zones-alist to set your preferred time zones with custom labels:

(setq tzc-favourite-time-zones-alist
      '(("UTC+0000" "UTC")
        ("Asia/Kolkata" "Kolkata")
        ("America/New_York" "New York")
        ("Europe/London" "London")
        ("Europe/Berlin" "Berlin")
        ("Asia/Shanghai" "Shanghai")
        ("Asia/Tokyo" "Tokyo")))

🚀 How to Use

Convert Time Between Zones

Use the interactive function tzc-convert-time to quickly convert times from one time zone to another.

Convert time between zones

Usage: Call M-x tzc-convert-time, enter your time, source zone, and target zone


Convert to Favorite Time Zones

Quickly convert a time to all your favorite time zones at once using tzc-convert-time-to-favourite-time-zones.

Convert to favorite zones

Setup: Define your preferences in tzc-favourite-time-zones-alist and call M-x tzc-convert-time-to-favourite-time-zones


Convert and Replace Time

Seamlessly replace times in your buffer with converted values—perfect for updating timestamps across your documents.

Convert and replace time

Usage: Position your cursor at the time you want to convert and call M-x tzc-convert-and-replace-time-at-mark


Convert Org Time Stamps

Transform Org mode time stamps between different time zones while preserving the Org format.

World clock

Usage: With your cursor on an Org time stamp, call M-x tzc-org-timestamp-dispatch


World Clock

An enhanced world clock view with navigation features. Use tzc-world-clock to open the world clock buffer.

World clock

Navigation:

  • Press n for next hour
  • Press p for previous hour
  • Press g to return to current time

This view displays time information for all your configured zones, updated as you navigate through hours.


👨‍💻 Author

Md Arif Shaikh
📧 arifshaikh.astro@gmail.com


📜 License

This project is licensed under the GNU General Public License v3 (GPLv3) - see the LICENSE file for details.


🤝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve TZC.


Made with ❤️ for the Emacs community

About

time zone conversion and time zone aware org workflow in emacs

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors