Show times as local time

This commit is contained in:
Tobias Kunze 2025-12-09 15:49:24 +01:00
parent ac845b5073
commit 69a0c5bd5d
2 changed files with 47 additions and 3 deletions

View file

@ -84,11 +84,11 @@
</dd> </dd>
<dt class="col-sm-4">{% translate "Created At" %}</dt> <dt class="col-sm-4">{% translate "Created At" %}</dt>
<dd class="col-sm-8"> <dd class="col-sm-8">
{{ instance.created_at|date:"SHORT_DATETIME_FORMAT" }} {{ instance.created_at|localtime_tag }}
</dd> </dd>
<dt class="col-sm-4">{% translate "Updated At" %}</dt> <dt class="col-sm-4">{% translate "Updated At" %}</dt>
<dd class="col-sm-8"> <dd class="col-sm-8">
{{ instance.updated_at|date:"SHORT_DATETIME_FORMAT" }} {{ instance.updated_at|localtime_tag }}
</dd> </dd>
</dl> </dl>
</div> </div>
@ -126,7 +126,7 @@
<span class="badge text-bg-secondary">{{ condition.status }}</span> <span class="badge text-bg-secondary">{{ condition.status }}</span>
{% endif %} {% endif %}
</td> </td>
<td>{{ condition.lastTransitionTime|date:"SHORT_DATETIME_FORMAT" }}</td> <td>{{ condition.lastTransitionTime|localtime_tag }}</td>
<td>{{ condition.reason|default:"-" }}</td> <td>{{ condition.reason|default:"-" }}</td>
<td>{{ condition.message|truncatewords:20|default:"-" }}</td> <td>{{ condition.message|truncatewords:20|default:"-" }}</td>
</tr> </tr>
@ -285,6 +285,7 @@
</div> </div>
{% endblock content %} {% endblock content %}
{% block extra_js %} {% block extra_js %}
<script src="{% static 'js/local-time.js' %}"></script>
<script> <script>
// Initialize Bootstrap popovers for help text // Initialize Bootstrap popovers for help text
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {

View file

@ -0,0 +1,43 @@
const convertToLocalTime = () => {
document.querySelectorAll('time.local-time').forEach((el) => {
const isoDate = el.getAttribute('datetime')
const format = el.getAttribute('data-format') || 'datetime'
if (!isoDate) return
try {
const date = new Date(isoDate)
if (isNaN(date.getTime())) return
let options = {}
if (format === 'date') {
options = {
year: 'numeric',
month: 'short',
day: 'numeric'
}
} else if (format === 'time') {
options = {
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
}
} else {
options = {
year: 'numeric',
month: 'short',
day: 'numeric',
hour: '2-digit',
minute: '2-digit'
}
}
el.textContent = date.toLocaleString(undefined, options)
el.title = date.toISOString()
} catch (e) {
console.error('Error parsing date:', isoDate, e)
}
})
}
document.addEventListener('DOMContentLoaded', convertToLocalTime)