[JQUERY] 현지 날짜 시간에 UTC 날짜 시간 변환
JQUERY현지 날짜 시간에 UTC 날짜 시간 변환
해결법
-
1.자바 스크립트의 날짜로 변환하기 전에 문자열에 추가 'UTC'
자바 스크립트의 날짜로 변환하기 전에 문자열에 추가 'UTC'
var date = new Date('6/29/2011 4:52:48 PM UTC'); date.toString() // "Wed Jun 29 2011 09:52:48 GMT-0700 (PDT)"
-
2.서버보기 내 관점에서 항상 일반적인 경우의 표준화 ISO 8601-형식의 날짜를 반환해야합니다.
서버보기 내 관점에서 항상 일반적인 경우의 표준화 ISO 8601-형식의 날짜를 반환해야합니다.
더 많은 정보를 원하시면 여기 :
JS Date 객체에 직접 공급 것 ': 52 48.000Z 2011-06-29T16을'이 경우 서버는 반환합니다.
var utcDate = '2011-06-29T16:52:48.000Z'; // ISO-8601 formatted date returned from server var localDate = new Date(utcDate);
LOCALDATE 내 경우 2 시간 후에 (DK 시간)이 될 것입니다 올바른 현지 시간에있을 것입니다.
당신은 정말 한 서버에서 기대하는 어떤 형식과 일치로, 모두에게 단지 물건을 복잡하게이 구문 분석 할 필요가 없습니다.
-
3.이것은 보편적 인 솔루션입니다 :
이것은 보편적 인 솔루션입니다 :
function convertUTCDateToLocalDate(date) { var newDate = new Date(date.getTime()+date.getTimezoneOffset()*60*1000); var offset = date.getTimezoneOffset() / 60; var hours = date.getHours(); newDate.setHours(hours - offset); return newDate; }
용법:
var date = convertUTCDateToLocalDate(new Date(date_string_you_received));
클라이언트 지역 설정에 따라 날짜를 표시합니다 :
date.toLocaleString();
-
4.당신은 (UTC)가 클라이언트 (분) 오프셋 얻어야한다 :
당신은 (UTC)가 클라이언트 (분) 오프셋 얻어야한다 :
var offset = new Date().getTimezoneOffset();
그리고 서버에서 얻을 시간에 추가하거나 빼기 특파원을한다.
도움이 되었기를 바랍니다.
-
5.나를 위해 솔루션은 작동하지 않았다 위.
나를 위해 솔루션은 작동하지 않았다 위.
IE와 지역에 UTC 날짜 - 시간 변환이 조금 까다 롭습니다. '26.007 : 37 2018-02-15T05'그리고 내가 자바 스크립트 코드 아래 사용하므로 지역 시간대에 따라 변환 싶어 나를 위해, 웹 API에서 날짜 - 시간입니다.
var createdDateTime = new Date('2018-02-15T05:37:26.007' + 'Z');
-
6.이것은 나를 위해 작동합니다 :
이것은 나를 위해 작동합니다 :
function convertUTCDateToLocalDate(date) { var newDate = new Date(date.getTime() - date.getTimezoneOffset()*60*1000); return newDate; }
-
7.당신의 머리에서이 기능을 넣어 :
당신의 머리에서이 기능을 넣어 :
<script type="text/javascript"> function localize(t) { var d=new Date(t+" UTC"); document.write(d.toString()); } </script>
그런 다음 페이지의 본문에서 각 날짜에 대해 다음을 생성합니다 :
<script type="text/javascript">localize("6/29/2011 4:52:48 PM");</script>
그리니치 표준시 및 시간대를 제거하려면 다음 줄을 변경 :
document.write(d.toString().replace(/GMT.*/g,""));
-
8.좋은 결과없이 여기에 게시 몇 가지 다른 시도 후이 나를 위해 일 듯 :
좋은 결과없이 여기에 게시 몇 가지 다른 시도 후이 나를 위해 일 듯 :
convertUTCDateToLocalDate: function (date) { return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds())); }
그리고이 지역 날짜 UTC에 반대의 길을 갈하기 위해 노력 :
convertLocalDatetoUTCDate: function(date){ return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()); }
-
9.이 경우 'UTC'에, 마지막에 시간대를 추가 :
이 경우 'UTC'에, 마지막에 시간대를 추가 :
theDate = new Date( Date.parse('6/29/2011 4:52:48 PM UTC'));
그 후, 올바른 로케일에서 날짜를 표시 toLocale () * 함수 패밀리를 사용
theDate.toLocaleString(); // "6/29/2011, 9:52:48 AM" theDate.toLocaleTimeString(); // "9:52:48 AM" theDate.toLocaleDateString(); // "6/29/2011"
-
10.매트의 대답은 일광 절약 시간 날짜 ()하고 변환 할 필요가있는 날짜 시간과 다를 수 있다는 사실이 없습니다 - 여기 나의 솔루션입니다 :
매트의 대답은 일광 절약 시간 날짜 ()하고 변환 할 필요가있는 날짜 시간과 다를 수 있다는 사실이 없습니다 - 여기 나의 솔루션입니다 :
function ConvertUTCTimeToLocalTime(UTCDateString) { var convertdLocalTime = new Date(UTCDateString); var hourOffset = convertdLocalTime.getTimezoneOffset() / 60; convertdLocalTime.setHours( convertdLocalTime.getHours() + hourOffset ); return convertdLocalTime; }
그리고 디버거의 결과는 :
UTCDateString: "2014-02-26T00:00:00" convertdLocalTime: Wed Feb 26 2014 00:00:00 GMT-0800 (Pacific Standard Time)
-
11.
//Covert datetime by GMT offset //If toUTC is true then return UTC time other wise return local time function convertLocalDateToUTCDate(date, toUTC) { date = new Date(date); //Local time converted to UTC console.log("Time: " + date); var localOffset = date.getTimezoneOffset() * 60000; var localTime = date.getTime(); if (toUTC) { date = localTime + localOffset; } else { date = localTime - localOffset; } date = new Date(date); console.log("Converted time: " + date); return date; }
-
12.이 Adorjan Princ's 답변에 따라 단순화 된 솔루션입니다 :
이 Adorjan Princ's 답변에 따라 단순화 된 솔루션입니다 :
function convertUTCDateToLocalDate(date) { var newDate = new Date(date); newDate.setMinutes(date.getMinutes() - date.getTimezoneOffset()); return newDate; }
용법:
var date = convertUTCDateToLocalDate(new Date(date_string_you_received));
-
13.혹시 usingmoment.js 신경 쓰지 않고 시간은 UTC 그냥 다음을 사용하고 있습니다 :
혹시 usingmoment.js 신경 쓰지 않고 시간은 UTC 그냥 다음을 사용하고 있습니다 :
moment.utc('6/29/2011 4:52:48 PM').toDate();
당신의 시간은 UTC하지만 당신에게 알려진 다른 로케일에없는 경우, 다음 다음을 사용 :
moment('6/29/2011 4:52:48 PM', 'MM-DD-YYYY', 'fr').toDate();
당신의 시간은 지역에 이미 있다면, 다음을 사용 :
moment('6/29/2011 4:52:48 PM', 'MM-DD-YYYY');
-
14.나에게 가장 간단한 사용 듯
나에게 가장 간단한 사용 듯
datetime.setUTCHours(datetime.getHours()); datetime.setUTCMinutes(datetime.getMinutes());
(내가 첫 번째 줄이 충분 수 있다고 생각하지만, 시간의 분수에 떨어져있는 시간대가 있습니다)
-
15.YYYY-MM-DD hh가 사용 : mm : ss 형식으로 :
YYYY-MM-DD hh가 사용 : mm : ss 형식으로 :
var date = new Date('2011-06-29T16:52:48+00:00'); date.toString() // "Wed Jun 29 2011 09:52:48 GMT-0700 (PDT)"
mm : 다음 YYYY-MM-DD의 HH로 변환 SS 형식, 반드시 당신의 날짜는 ISO 8601 형식을 따라야합니다.
Year: YYYY (eg 1997) Year and month: YYYY-MM (eg 1997-07) Complete date: YYYY-MM-DD (eg 1997-07-16) Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00) Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) Complete date plus hours, minutes, seconds and a decimal fraction of a second YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00) where: YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) s = one or more digits representing a decimal fraction of a second TZD = time zone designator (Z or +hh:mm or -hh:mm)
참고로 중요 사항
-
16.(C #으로 직렬화)을 JSON 날짜 문자열은 ": 58 : 17 2015-10-13T18"처럼 보인다.
(C #으로 직렬화)을 JSON 날짜 문자열은 ": 58 : 17 2015-10-13T18"처럼 보인다.
각도에서 (Hulvej 다음)은 LOCALDATE 필터를 만들 :
myFilters.filter('localdate', function () { return function(input) { var date = new Date(input + '.000Z'); return date; }; })
그런 다음, 같은 지역 시간을 표시 :
{{order.createDate | localdate | date : 'MMM d, y h:mm a' }}
-
17.나는이 응답하면 디스플레이가 특정 아이디 요소에 시간을 변환 날짜 포맷 스트링 YYYY-MM-DD를 적용하는 것이 어느 하나 개 찾는 기능 여기 날짜 1은 문자열이고 ID는 시간이 디스플레이에가는 것을 요소의 ID입니다.
나는이 응답하면 디스플레이가 특정 아이디 요소에 시간을 변환 날짜 포맷 스트링 YYYY-MM-DD를 적용하는 것이 어느 하나 개 찾는 기능 여기 날짜 1은 문자열이고 ID는 시간이 디스플레이에가는 것을 요소의 ID입니다.
function convertUTCDateToLocalDate(date1, ids) { var newDate = new Date(); var ary = date1.split(" "); var ary2 = ary[0].split("-"); var ary1 = ary[1].split(":"); var month_short = Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); newDate.setUTCHours(parseInt(ary1[0])); newDate.setUTCMinutes(ary1[1]); newDate.setUTCSeconds(ary1[2]); newDate.setUTCFullYear(ary2[0]); newDate.setUTCMonth(ary2[1]); newDate.setUTCDate(ary2[2]); ids = document.getElementById(ids); ids.innerHTML = " " + newDate.getDate() + "-" + month_short[newDate.getMonth() - 1] + "-" + newDate.getFullYear() + " " + newDate.getHours() + ":" + newDate.getMinutes() + ":" + newDate.getSeconds(); }
나는 그 대답은 이미 접수 된 알고하지만 난 구글의 원인이 여기에 도착하고 나는 그것을 만약 누군가가 필요 그냥 공유하고자했다 그래서 내가 허용 대답에서 영감을 받고으로 해결했다.
-
18.@ Adorojan의 대답은 거의 정확합니다. 그러나 오프셋의 추가는 브라우저 날짜 앞서 GMT와 그 반대의 경우 오프셋 값이 음수가 될 것이기 때문에 정확하지 않습니다. 아래는 내가 함께 와서 나를 위해 잘 완벽하게 작동하는 솔루션입니다 :
@ Adorojan의 대답은 거의 정확합니다. 그러나 오프셋의 추가는 브라우저 날짜 앞서 GMT와 그 반대의 경우 오프셋 값이 음수가 될 것이기 때문에 정확하지 않습니다. 아래는 내가 함께 와서 나를 위해 잘 완벽하게 작동하는 솔루션입니다 :
UTC에서 // 입력 시간 VAR inputInUtc는 "2011년 6월 29일 4시 52분 48초"=; VAR dateInUtc 새로운 날짜 (다음 Date.parse (inputInUtc + "UTC를")) =; UTC 시간 // 인쇄 일 document.write를 ( "UTC의 날짜 :"+ dateInUtc.toISOString () + "로
"); VAR dateInLocalTz = convertUtcToLocalTz (dateInUtc); 현지 시간 // 인쇄 일 document.write를 ( "로컬 날짜 :"+ dateInLocalTz.toISOString ()); 함수 convertUtcToLocalTz (dateInUtc) { // 현지 시간대로 변환 (dateInUtc.getTime를 () - dateInUtc.getTimezoneOffset () * 60 * 1000) 새로운 날짜를 반환; } -
19.나를 위해,이 잘 작동
나를 위해,이 잘 작동
if (typeof date === "number") { time = new Date(date).toLocaleString(); } else if (typeof date === "string"){ time = new Date(`${date} UTC`).toLocaleString(); }
-
20.@digitalbath 응답에 기초하여, 여기에 소정의 DOM 요소 (이 마지막 부분 jQuery를 사용)의 로컬 시간을 UTC 타임 스탬프를 잡고 작은 표시 함수이다 :
@digitalbath 응답에 기초하여, 여기에 소정의 DOM 요소 (이 마지막 부분 jQuery를 사용)의 로컬 시간을 UTC 타임 스탬프를 잡고 작은 표시 함수이다 :
https://jsfiddle.net/moriz/6ktb4sv8/1/
<div id="eventTimestamp" class="timeStamp"> </div> <script type="text/javascript"> // Convert UTC timestamp to local time and display in specified DOM element function convertAndDisplayUTCtime(date,hour,minutes,elementID) { var eventDate = new Date(''+date+' '+hour+':'+minutes+':00 UTC'); eventDate.toString(); $('#'+elementID).html(eventDate); } convertAndDisplayUTCtime('06/03/2015',16,32,'eventTimestamp'); </script>
-
21.이 사파리 / 크롬 / 파이어 폭스와 나를 위해 잘 작동 :
이 사파리 / 크롬 / 파이어 폭스와 나를 위해 잘 작동 :
const localDate = new Date(`${utcDate.replace(/-/g, '/')} UTC`);
-
22.I : S (PHP는 날짜 함수와 같은) 형식 나는 UTC의 신기원 및 변환 그것을 클라이언트 시스템의 시간대 및 D / M / Y H 수익률을 소요 좋은 작은 스크립트를 썼다 :
I : S (PHP는 날짜 함수와 같은) 형식 나는 UTC의 신기원 및 변환 그것을 클라이언트 시스템의 시간대 및 D / M / Y H 수익률을 소요 좋은 작은 스크립트를 썼다 :
getTimezoneDate = function ( e ) { function p(s) { return (s < 10) ? '0' + s : s; } var t = new Date(0); t.setUTCSeconds(e); var d = p(t.getDate()), m = p(t.getMonth()+1), Y = p(t.getFullYear()), H = p(t.getHours()), i = p(t.getMinutes()), s = p(t.getSeconds()); d = [d, m, Y].join('/') + ' ' + [H, i, s].join(':'); return d; };
-
23.당신은 momentjs을 사용할 수 있습니다, 순간 (날짜) .format ()는 항상 현지 날짜에 결과를 제공 할 것입니다.
당신은 momentjs을 사용할 수 있습니다, 순간 (날짜) .format ()는 항상 현지 날짜에 결과를 제공 할 것입니다.
보너스, 당신은 당신이 원하는 어떤 방식으로 포맷 할 수 있습니다. 의 경우는 예를 들면.
moment().format('MMMM Do YYYY, h:mm:ss a'); // September 14th 2018, 12:51:03 pm moment().format('dddd'); // Friday moment().format("MMM Do YY");
자세한 내용은 당신은 순간의 js 웹 사이트를 참조 할 수 있습니다
-
24.나는 현지 시간으로 모든 시간대로 변환 한 기능을 만들었습니다.
나는 현지 시간으로 모든 시간대로 변환 한 기능을 만들었습니다.
그것은 적절한 오프셋 값을 반환하지 않기 때문에 나는,에, getTimezoneOffset ()를 사용하지 않았다
요구 사항 :
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"
-
25.내 경우, 나는 초 날짜의 차이를 발견했다. 나는 현지 날짜 객체로 변환 할 수 있도록 날짜는 UTC 날짜 문자열했다. 이것은 내가 한 것입니다 :
내 경우, 나는 초 날짜의 차이를 발견했다. 나는 현지 날짜 객체로 변환 할 수 있도록 날짜는 UTC 날짜 문자열했다. 이것은 내가 한 것입니다 :
let utc1 = new Date(); let utc2 = null; const dateForCompare = new Date(valueFromServer); dateForCompare.setTime(dateForCompare.getTime() - dateForCompare.getTimezoneOffset() * 60000); utc2 = dateForCompare; const seconds = Math.floor(utc1 - utc2) / 1000;
-
26.이것은 내가 내 현지 시간으로 UTC로 변환하고 있어요 것입니다 :
이것은 내가 내 현지 시간으로 UTC로 변환하고 있어요 것입니다 :
dataDate = '2020-09-15 07:08:08' utcDate = new Date(a); myLocalDate = new Date(Date.UTC( utcDate.getFullYear(), utcDate.getMonth(), utcDate.getDate(), utcDate.getHours(), utcDate.getMinutes() ));
결과 : 화 2020년 9월 15일 14시 08분 0초 (그리니치 표준시) + 0700 (인도 차이나 시간).
-
27.
function getUTC(str) { var arr = str.split(/[- :]/); var utc = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); utc.setTime(utc.getTime() - utc.getTimezoneOffset()*60*1000) return utc; }
방문 다른 사람을 위해 - UTC의 문자열에서 로컬 날짜 객체를 얻기 위해이 기능을 사용, DST의주의를 기울여야 등 IE, 아이폰에서 작동합니다
우리는 (JS 날짜 구문 분석이 일부 브라우저에서 지원되지 않기 때문에) 문자열을 분할 우리는 UTC에서 차이를 가져 우리에게 현지 시간을주는 UTC 시간에서를 뺍니다. 이 변수 "UTC"에서 그 시간 다시 설정됩니다 있도록 반환 오프셋 때문에 DST으로 계산하고, (만약 내가 잘못 정정 해줘). 마지막으로 날짜 오브젝트를 돌려줍니다.
-
28.에서 각도 벤의 대답이 방법을 사용 :
에서 각도 벤의 대답이 방법을 사용 :
$scope.convert = function (thedate) { var tempstr = thedate.toString(); var newstr = tempstr.toString().replace(/GMT.*/g, ""); newstr = newstr + " UTC"; return new Date(newstr); };
편집 : 날짜 필터 각도 1.3.0 추가 UTC 지원, 나는 아직 그것을 사용하지 않은 있지만 쉽게해야합니다, 여기에 형식은 다음과 같습니다
{{ date_expression | date : format : timezone}}
각도 1.4.3 날짜 API
-
29.당신은 moment.js 파일을 사용하여 수행 할 수 있습니다.
당신은 moment.js 파일을 사용하여 수행 할 수 있습니다.
당신은 그것의 단순한 그냥 시간대의 장소를 언급.
예 : 아시아 / 콜카타 시간대에 날짜를 변환 할 경우, 당신은 단지 moment.js에서 얻은 시간대 장소의 이름을 언급해야
VAR UTCDateTime는 = "당신의 날짜는 UTC로부터 얻은"; VAR ISTleadTime = (moment.tz (UTCDateTime, "아프리카 / 아비 장")) TZ ( "아시아 / 콜카타") 형식 ( 'YYYY-MM-DD LT')..;
from https://stackoverflow.com/questions/6525538/convert-utc-date-time-to-local-date-time by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 상위 이벤트를 트리거 JQuery와 정지 아이 (0) | 2020.09.25 |
---|---|
[JQUERY] 어떻게 자식 앵커를 클릭하면 발사에서 부모의 온 클릭 이벤트를 방지합니까? (0) | 2020.09.25 |
[JQUERY] 자바 스크립트로 이미지의 실제 폭과 높이를 가져 오기? (사파리 / 크롬) (0) | 2020.09.25 |
[JQUERY] jQuery로 다단계 양식을 재설정 (0) | 2020.09.25 |
[JQUERY] 데이터 속성으로 요소 선택 (0) | 2020.09.25 |