我从数据库中获取一个24小时格式的字符串,并以UTC时间存储。例如“18:00:00”。我希望这个时间只能转换为当地时间(不需要日期),时区可以在哪里,并以12小时格式显示。例如,如果时区是澳大利亚东部标准时间,我必须找出比UTC时间早11小时的时差并将其显示为“05:00 AM”,并且反之亦然当地时间仅为UTC时间仅限时间(不需要日期),以便我可以将其保存回数据库。我已经搜索了很多,但每个人都提到将日期对象从UTC转换为本地或反之亦然,但不是仅限时间。请帮帮我。
答案 0 :(得分:6)
let utcTime = "18:00:00";
let utcText = moment(utcTime,'HH:mm').format("HH:mm");
let local = moment.utc(utcTime,'HH:mm').local().format("hh:mm A");
let localTime = local;//setting local time
let utc = moment(localTime,'hh:mm A').utc().format("HH:mm");
$("#utc").html(utcText + " (UTC Time)");
$("#local").html(local + " (Local Time)");
$("#utc1").html(localTime + " (Local Time1)");
$("#local1").html(utc + " (UTC Time1)");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.2/moment.js"></script>
<div id="utc"></div>
<div id="local"></div>
<div id="utc1"></div>
<div id="local1"></div>
使用时间和类型创建一个时刻对象,然后使用local()