IT

AngularJS- 컨트롤러에서 날짜 변환

lottoking 2020. 8. 3. 17:29
반응형

AngularJS- 컨트롤러에서 날짜 변환


누구 든지이 1387843200000형식의 날짜를 24/12/2013 컨트롤러 에서 날짜로 변환하는 방법을 제안 해 주 시겠습니까?

로 내 날짜 참고는, 괜찮아 식으로 저장되며 input type="date"필드로 양식을 편집하기위한 바인딩 이 채워지지 않을 때.

#Plunker 도장.

편집

app.controller("EditCtrl", [ "$scope", "$filter", "db" function ($scope, $filter, db){

    // this gets me an item object
    var item = db.readItem();

    // item date = 1387843200000
    // this returns undefined 
    item.date = $filter('date')(date[ item.date, "dd/MM/yyyy"]);

}]);

Edit.html- 템플릿

<form name="editForm" class="form-validate">

        <div class="form-group">
            <label for="date">Event date.</label>
            <input type="date" class="form-control" ng-model="event.date" id="date" required />
        </div>

        <a href="#/" class="btn btn-danger ">Cancel</a>
        <button id="addEvent" class="btn btn-primary pull-right" ng-disabled="isClean() || editForm.$invalid" ng-click="saveEvent()">Save event.</button>

    </form>

item.date = $filter('date')(item.date, "dd/MM/yyyy"); // for conversion to string

http://docs.angularjs.org/api/ng.filter:date

그러나 HTML5 type = "date"를 사용하는 경우 ISO 형식 yyyy-MM-dd를 사용합니다.

item.dateAsString = $filter('date')(item.date, "yyyy-MM-dd");  // for type="date" binding


<input type="date" ng-model="item.dateAsString" value="{{ item.dateAsString }}" pattern="dd/MM/YYYY"/>

http://www.w3.org/TR/html-markup/input.date.html

참고 : type = "date"와 사용하면 비표준으로 보이지만 Chrome 31에서는 예상대로 작동하는 소리와 함께 패턴입니다.


filter.js를 추가 가능하게 만들 수 있습니다.

angular.module('yourmodule').filter('date', function($filter)
{
    return function(input)
    {
        if(input == null){ return ""; }
        var _date = $filter('date')(new Date(input), 'dd/MM/yyyy');
        return _date.toUpperCase();
    };
});

전망

<span>{{ d.time | date }}</span>

또는 컨트롤러

var filterdatetime = $filter('date')( yourdate );

Angular js의 날짜 필터링 및 형식.


여기의 모든 솔루션은 모델을 입력에 바인딩하지 않습니다. (폼이 dateAsString출시 개체에서와 같이) 저장 가능 다시 변경해야 할 것 date입니다.

바인딩 효과가 필요하지 않고 입력에 표시하기 만하면

간단하다.

<input type="date" value="{{ item.date | date: 'yyyy-MM-dd' }}" id="item_date" />

그런 다음 원하는 경우에는 다음과 같이 편집 할 수 있습니다.

  $scope.item.date = new Date(document.getElementById('item_date').value).getTime();

주의 : 컨트롤러 에서이 기능 현관을 수행하려면 item변수 를 선언해야 우리 합니다 $scope.item.


나는 자바 펼쳐로 제안한다 :

var item=1387843200000;
var date1=new Date(item);

date1은 날짜입니다.

참고 URL : https://stackoverflow.com/questions/20131553/angularjs-convert-dates-in-controller

반응형