Как получить временное местное время TimeZone, используя moment.js

109
11

Я работаю с двумя js-библиотеками, чтобы получить идентификатор часового пояса браузера и локальное время браузера


    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"></script>
<script src="Scripts/moment-timezone.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function () {
var tz = jstz.determine(); // Determines the time zone of the browser client
alert(tz.name());

alert(moment.tz(tz.name()).format());
});
</script>


этот ниже код возвращает идеальный идентификатор часового пояса


       var tz = jstz.determine(); // Determines the time zone of the browser client
alert(tz.name());

но этот код не работает alert(moment.tz(tz.name()).format()); не дает пользователю локального времени.


Я что-то пропустил в коде? мне нужно добавить любой файл, связанный с другими событиями?


пожалуйста, направляйте меня. Я хочу получить локальное время пользователя, используя moment.js. спасибо


Рабочая версия UPDATE


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="Scripts/jstz.min.js"></script>

<script src="Scripts/moment.min.js" type="text/javascript"></script>
<script src="Scripts/moment-timezone-with-data-2010-2020.min.js" type="text/javascript"></script>
</head>
<body>
<form method="post" action="WebForm1.aspx" id="form1">
<div>
<script type="text/javascript">
$(document).ready(function () {
var tz = jstz.determine(); // Determines the time zone of the browser client
alert(tz.name());

var format = 'YYYY/MM/DD HH:mm:ss ZZ';
alert(moment.tz('Europe/London').format(format));
alert(moment.tz(tz.name()).format(format));
});
</script>
</div>
</form>
</body>
</html>

спросил(а) 2021-01-19T15:22:34+03:00 6 месяцев назад
1
Решение
77

Мое решение этого случая (это часть кода страницы):


function toLocalTime(time) {
if (time <= 0)
return '';

var m = moment.tz(time, 'America/Chicago'); //CDT

var tz = jstz.determine(); // Determines the time zone of the browser client

m.tz(tz.name()); // Convert CDT to local time

return m.format('HH:mm:ss');
}

<script src="js/jstz.min.js"></script>
<script src="js/moment.js"></script>
<script src="js/moment-timezone-with-data-2010-2020.js"></script>

...........

<script th:inline="javascript">document.write(toLocalTime(<<TIME IN MILLISECONDS HERE>>));</script>

ответил(а) 2021-01-19T15:22:34+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема