Почему мой секундомер добавляет фиксированное время при обновлении?
У меня есть скрипт Vue.js, который добавляет время к моему секундомеру, когда я обновляю страницу - всегда добавляет дополнительные 6 часов. Скрипт представляет собой просто кнопку, которая отслеживает время при нажатии и отправляет время в модель django после остановки. Я могу отслеживать время нормально, но когда я обновляю страницу, я возвращаюсь и вижу 6 часов, добавленных к моему секундомеру:
Сценарий Vue.js:
HTML:
<div class="col-md-auto mt-md-0 mt-4" id="navbar-app">
<div class="hstack gap-1 flex-wrap">
<div class="navbar-item" v-if="!trackingTime">
<div class="buttons">
<button class="btn btn-success add-btn" @click="startTimer()">
Start Timer
</button>
</div>
</div>
<div class="navbar-item" v-else>
<div class="buttons">
<div class="buttons">
<button class="btn btn-warning add-btn" @click="stopTimer()">
[[ readableSeconds ]] (stop)
</button>
</div>
</div>
</div>
Когда я нажимаю на кнопку - время отслеживается:
Когда я обновляю страницу, добавляется еще 6 часов:
Дайте мне знать, если я упустил какую-либо информацию или код, который может вам понадобиться
Django 5.0 обрабатывает даты автоматически. Это означает, что если ваш клиент находится в часовом поясе UTC-6, он добавит 6 часов и сохранит дату в UTC. Когда вы используете дату, она преобразует ее в местное время, и у вас, вероятно, не возникнет проблем.
Если вы используете более старые версии, например 4.2, вы можете просто установить USE_TZ = True
.
Если это не решит вашу проблему, этот документ должен вам помочь. Особенно этот раздел о фокусировке местного времени. Это объясняет, каковы различные результаты в зависимости от того, является ли USE_TZ истиной или ложью.
(Я не смог написать комментарий, потому что моя репутация слишком низкая, и я не знаю vue.js, извините.)
Надеюсь, я смогу помочь.