This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The dateTime property of the HTMLModElement interface is a string containing a machine-readable date with an optional time value. It reflects the datetime HTML attribute of the <del> and <ins> elements.
A string. For valid string formats, see the datetime valid values.
Given the following HTML:
<p>The paragraph <del datetime="2021-11-01">has been</del> changed</p>
We can get the value of the dateTime attribute of the <del> element:
const deletedText = document.querySelector("del");
console.log(deletedText.dateTime); // "2021-11-01"
We can also set the dateTime property. Here, we create an <ins> element, then set the dateTime property of the <ins> element to the current date in YYYY-MM-DD format then insert it after the deleted text:
const insertedText = document.createElement("ins");
const now = new Date();
insertedText.dateTime = `${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}`;
insertedText.appendChild(document.createTextNode("was"));
deletedText.insertAdjacentElement("afterend", insertedText);
If our script ran on January 9, 2025, our HTML would be as follows:
<p> The paragraph <del datetime="2021-11-01">has been</del ><ins datetime="2025-1-9">was</ins> changed </p>
| Specification |
|---|
| HTML> # dom-mod-datetime> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
dateTime |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
<del><ins>HTMLModElementHTMLModElement.citeHTMLTimeElement.dateTimeDateElement.insertAdjacentElement()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement/dateTime