# Show Post Times in the Visitor's Own Timezone

> Converts post dates and times on the page into each visitor's local timezone and language format in the browser, so an event posted for 18:00 London reads 19:00 in Paris.

- Type: PHP
- Runs: Run everywhere
- Category: [Multilingual](https://wpide.com/library/category/multilingual/)
- Tags: timezone, dates, javascript
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/i18n-visitor-local-times/

## Code

```php
add_action( 'wp_footer', function () {
    ?>
<script>
(function () {
    if (!window.Intl || !Intl.DateTimeFormat) { return; }
    var lang = document.documentElement.lang || undefined;
    document.querySelectorAll('time[datetime]').forEach(function (el) {
        var value = el.getAttribute('datetime');
        if (el.classList.contains('wpide-no-localize') || !/T\d{2}:\d{2}/.test(value)) { return; }
        var date = new Date(value);
        if (isNaN(date.getTime())) { return; }
        el.title = el.textContent.trim();
        el.textContent = new Intl.DateTimeFormat(lang, { dateStyle: 'medium', timeStyle: 'short' }).format(date);
    });
})();
</script>
    <?php
}, 50 );
```

## Notes

Works on any <time datetime="..."> element with a full date and time; elements without a time are left as they are. Add the class wpide-no-localize to skip one.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Show Post Times in the Visitor's Own Timezone" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
