UTC 시간을 현지 시간으로 변환하려고합니다. 이 링크 에서이 예제를 따르고 있습니다 : http://jsfiddle.net/FLhpq/4/light/ . 올바른 로컬 출력을 얻을 수없는 것 같습니다. 예를 들어, 10:30이 여기에 10:30이 아니라 15:30을 얻는 대신 여기에 내 코드가 있습니다.
var date = moment.utc().format('YYYY-MM-DD HH:mm:ss');
var localTime = moment.utc(date).toDate();
localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
console.log("moment: " + localTime);
내가 무엇을 하든지 항상 UTC 시간에 나옵니다. 나는 휴스턴에 살고 있으므로 시간대가 문제라는 것을 알고 있습니다. 링크의 코드를 따랐지만 현지 시간을 가질 수 있습니다. 내가 뭘 잘못하고 있죠?
답변
UTC 시간을 로컬로 변환하려면 사용해야합니다 moment.local()
합니다.
자세한 내용은 문서를
예:
var date = moment.utc().format('YYYY-MM-DD HH:mm:ss');
console.log(date); // 2015-09-13 03:39:27
var stillUtc = moment.utc(date).toDate();
var local = moment(stillUtc).local().format('YYYY-MM-DD HH:mm:ss');
console.log(local); // 2015-09-13 09:39:27
데모:
var date = moment.utc().format();
console.log(date, "- now in UTC");
var local = moment.utc(date).local().format();
console.log(local, "- UTC now to local");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
답변
이 시도:
let utcTime = "2017-02-02 08:00:13";
var local_date= moment.utc(utcTime ).local().format('YYYY-MM-DD HH:mm:ss');
답변
let utcTime = "2017-02-02 08:00:13.567";
var offset = moment().utcOffset();
var localText = moment.utc(utcTime).utcOffset(offset).format("L LT");
이 JsFiddle을 보십시오
답변
참고 : 날짜 형식을 적절히 업데이트하십시오.
형식 날짜
__formatDate: function(myDate){
var ts = moment.utc(myDate);
return ts.local().format('D-MMM-Y');
}
형식 시간
__formatTime: function(myDate){
var ts = moment.utc(myDate);
return ts.local().format('HH:mm');
},
답변
UTC를 현지 시간으로 변환하려면
let UTC = moment.utc()
let local = moment(UTC).local()
아니면 직접 현지 시간을 원합니다
let local = moment()
var UTC = moment.utc()
console.log(UTC.format()); // UTC time
var cLocal = UTC.local()
console.log(cLocal.format()); // Convert UTC time
var local = moment();
console.log(local.format()); // Local time
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
답변
모든 시간대를 현지 시간으로 변환하는 하나의 함수를 만들었습니다.
요구 사항 :
1. npm i moment-timezone
function utcToLocal(utcdateTime, tz) {
var zone = moment.tz(tz).format("Z") // Actual zone value e:g +5:30
var zoneValue = zone.replace(/[^0-9: ]/g, "") // Zone value without + - chars
var operator = zone && zone.split("") && zone.split("")[0] === "-" ? "-" : "+" // operator for addition subtraction
var localDateTime
var hours = zoneValue.split(":")[0]
var minutes = zoneValue.split(":")[1]
if (operator === "-") {
localDateTime = moment(utcdateTime).subtract(hours, "hours").subtract(minutes, "minutes").format("YYYY-MM-DD HH:mm:ss")
} else if (operator) {
localDateTime = moment(utcdateTime).add(hours, "hours").add(minutes, "minutes").format("YYYY-MM-DD HH:mm:ss")
} else {
localDateTime = "Invalid Timezone Operator"
}
return localDateTime
}
utcToLocal("2019-11-14 07:15:37", "Asia/Kolkata")
//Returns "2019-11-14 12:45:37"