각도: 날짜 필터에 시간대가 추가됩니다. UTC를 출력하려면 어떻게 해야 합니까?
날짜 필터를 사용하여 유닉스 타임스탬프를 특정 형식으로 렌더링하고 있습니다.필터가 로컬 시간대를 출력에 추가한 걸 봤어요.
시간대 정보를 추가하지 않고 정확한 타임스탬프를 출력할 수 있는 방법이 있습니까?
입력:
talk.content.date_and_time = 1400167800
(05/15/14 @ 오후 3:30:00 UTC)
코드:
{{talk.content.date_and_time*1000 | date:'dd-M-yyyy H:mm Z'}}
출력:
15-5-2014 17:30 +0200
17시 30분이 아니라 15시 30분에 출력을 낼 수 있는 방법은 무엇입니까?
이후 버전1.3.0
각진JS가 추가 필터 매개 변수를 도입했습니다.timezone
다음과 같습니다.
{{ date_expression | date : format : timezone}}
그러나 버전에서는1.3.x
지원되는 표준 시간대만UTC
다음과 같이 사용할 수 있습니다.
{{ someDate | date: 'MMM d, y H:mm:ss' : 'UTC' }}
이후 버전1.4.0-rc.0
각진JS는 다른 시간대도 지원합니다.가능한 모든 시간대를 테스트한 것은 아니지만, 예를 들어 일본 표준시로 날짜를 취득하는 방법(JSP, GMT +9)은 다음과 같습니다.
{{ clock | date: 'MMM d, y H:mm:ss' : '+0900' }}
여기서 Angular의 문서를 찾을 수 있습니다.JS 날짜 필터
메모: 이것은 Angular 1.x에서만 동작합니다.
다음은 작업 예시입니다.
'Z'는 시간대 정보를 추가합니다.출력 UTC에 대해서는, 그것이 혼란의 대상인 것 같습니다.사람들은 모멘트에 끌리는 것 같습니다.
이 답변에서 인용하면 다음과 같은 작업을 즉시 수행할 수 있습니다.js:
컨트롤러
var app1 = angular.module('app1',[]);
app1.controller('ctrl',['$scope',function($scope){
var toUTCDate = function(date){
var _utc = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
return _utc;
};
var millisToUTCDate = function(millis){
return toUTCDate(new Date(millis));
};
$scope.toUTCDate = toUTCDate;
$scope.millisToUTCDate = millisToUTCDate;
}]);
템플릿
<html ng-app="app1">
<head>
<script data-require="angular.js@*" data-semver="1.2.12" src="http://code.angularjs.org/1.2.12/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<div ng-controller="ctrl">
<div>
utc {{millisToUTCDate(1400167800) | date:'dd-M-yyyy H:mm'}}
</div>
<div>
local {{1400167800 | date:'dd-M-yyyy H:mm'}}
</div>
</div>
</body>
</html>
가지고 놀 수 있는 더 좋은 방법이 있다
또한 이 방법을 사용하면 Angular의 날짜 필터에서 'Z'를 사용하면 로컬 시간대 오프셋이 인쇄되는 것 같습니다.
날짜 필터는 항상 로컬 시간대를 사용하여 날짜 형식을 지정합니다.필터를 직접 작성해야 합니다.getUTCXxx()
또는 라이브러리와 같은 모멘트.module의 메서드.methods.block.
어플리케이션에 getLocaleString() 함수를 사용했습니다.로케일에 공통되는 시간 형식을 조정해야 하므로 +0200 등은 사용할 수 없습니다.물론 끈의 폭을 조절할 수 있는 가능성은 적어집니다.
var str = (new Date(1400167800)).toLocaleString();
언급URL : https://stackoverflow.com/questions/21782893/angular-date-filter-adds-timezone-how-to-output-utc
'programing' 카테고리의 다른 글
archive.php 페이지에서 사용자 지정 카테고리 이름 또는 ID 가져오기 Wordpress (0) | 2023.03.25 |
---|---|
Angular를 위한 사용 사례JS 및 JQuery (0) | 2023.03.25 |
Gradle에서 BuildProperties bean 자동 배선 - NoSch BeanDefinition예외. (0) | 2023.03.25 |
Intelij, 타겟 JRE vesion이 프로젝트 jdk 버전과 일치하지 않습니다. (0) | 2023.03.25 |
동화책 꼬리바람.스토리북에 순풍을 추가하는 방법 (0) | 2023.03.25 |