diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json
index a673f6226c..700abb7ba3 100644
--- a/frappe/core/doctype/user/user.json
+++ b/frappe/core/doctype/user/user.json
@@ -61,6 +61,7 @@
"form_sidebar",
"timeline",
"dashboard",
+ "show_absolute_datetime_foramt",
"change_password",
"new_password",
"logout_all_sessions",
@@ -827,6 +828,12 @@
"fieldname": "dashboard",
"fieldtype": "Check",
"label": "Dashboard"
+ },
+ {
+ "default": "0",
+ "fieldname": "show_absolute_datetime_foramt",
+ "fieldtype": "Check",
+ "label": "Show absolute datetime values"
}
],
"icon": "fa fa-user",
@@ -885,7 +892,7 @@
}
],
"make_attachments_public": 1,
- "modified": "2025-03-17 11:29:39.254304",
+ "modified": "2025-05-20 20:20:56.377578",
"modified_by": "Administrator",
"module": "Core",
"name": "User",
diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py
index 04d7daf970..e6d955b935 100644
--- a/frappe/core/doctype/user/user.py
+++ b/frappe/core/doctype/user/user.py
@@ -126,6 +126,7 @@ class User(Document):
search_bar: DF.Check
send_me_a_copy: DF.Check
send_welcome_email: DF.Check
+ show_absolute_datetime_foramt: DF.Check
simultaneous_sessions: DF.Int
social_logins: DF.Table[UserSocialLogin]
thread_notify: DF.Check
diff --git a/frappe/public/js/frappe/form/footer/base_timeline.js b/frappe/public/js/frappe/form/footer/base_timeline.js
index b28c2c7706..5f8ca3e803 100644
--- a/frappe/public/js/frappe/form/footer/base_timeline.js
+++ b/frappe/public/js/frappe/form/footer/base_timeline.js
@@ -138,7 +138,13 @@ class BaseTimeline {
let timeline_content = timeline_item.find(".timeline-content");
timeline_content.append(item.content);
if (!item.hide_timestamp && !item.is_card) {
- timeline_content.append(` · ${comment_when(item.creation)}`);
+ timeline_content.append(
+ ` · ${
+ frappe.boot.user.show_absolute_datetime_foramt === 1
+ ? frappe.datetime.str_to_user(item.creation)
+ : comment_when(item.creation)
+ }`
+ );
}
if (item.id) {
timeline_content.attr("id", item.id);
diff --git a/frappe/public/js/frappe/form/sidebar/form_sidebar.js b/frappe/public/js/frappe/form/sidebar/form_sidebar.js
index 7902917026..a4c3040ce9 100644
--- a/frappe/public/js/frappe/form/sidebar/form_sidebar.js
+++ b/frappe/public/js/frappe/form/sidebar/form_sidebar.js
@@ -95,8 +95,9 @@ frappe.ui.form.Sidebar = class {
__("{0} created this", [get_user_link(this.frm.doc.owner)])
) +
" · " +
- comment_when(this.frm.doc.creation);
-
+ (frappe.boot.user.show_absolute_datetime_foramt === 1
+ ? frappe.datetime.str_to_user(this.frm.doc.creation)
+ : comment_when(this.frm.doc.creation));
let modified_message =
get_user_message(
this.frm.doc.modified_by,
@@ -104,7 +105,9 @@ frappe.ui.form.Sidebar = class {
__("{0} last edited this", [get_user_link(this.frm.doc.modified_by)])
) +
" · " +
- comment_when(this.frm.doc.modified);
+ (frappe.boot.user.show_absolute_datetime_foramt === 1
+ ? frappe.datetime.str_to_user(this.frm.doc.modified)
+ : comment_when(this.frm.doc.modified));
if (user_list.length === 1) {
// same user created and edited
diff --git a/frappe/utils/user.py b/frappe/utils/user.py
index db7de785c9..18ecd4d821 100644
--- a/frappe/utils/user.py
+++ b/frappe/utils/user.py
@@ -224,6 +224,7 @@ class UserPermissions:
"language",
"last_name",
"mute_sounds",
+ "show_absolute_datetime_foramt",
"send_me_a_copy",
"user_type",
"onboarding_status",