I have a HTML 5 input type="date"
.
<input type="date" required ng-model="nm.pick" id="dpicker ">
Then in my angular controller, I am assigning value
nm.pick = $filter("date")(Date.now(), 'dd/MM/yyyy');
Now this will give HTML5 default date format of yyyy-MM-dd
.
But I want date format - dd/MM/yyyy
- I cannot changed
<input type="date">
to<input type="text"
in my HTML. If I change, dateformat will work fine Then I change input date to input text in controller
$("#dpicker").attr("type", "text"); nm.pick = $filter("date")(Date.now(), 'dd/MM/yyyy');
which is not working.
Basically I want to change the dateformat to dd/MM/yyyy
in controller without altering HTML.
What are all the possible way to achieve this?
I have a HTML 5 input type="date"
.
<input type="date" required ng-model="nm.pick" id="dpicker ">
Then in my angular controller, I am assigning value
nm.pick = $filter("date")(Date.now(), 'dd/MM/yyyy');
Now this will give HTML5 default date format of yyyy-MM-dd
.
But I want date format - dd/MM/yyyy
- I cannot changed
<input type="date">
to<input type="text"
in my HTML. If I change, dateformat will work fine Then I change input date to input text in controller
$("#dpicker").attr("type", "text"); nm.pick = $filter("date")(Date.now(), 'dd/MM/yyyy');
which is not working.
Basically I want to change the dateformat to dd/MM/yyyy
in controller without altering HTML.
What are all the possible way to achieve this?
Share Improve this question edited May 25, 2017 at 12:49 user7605325 asked May 25, 2017 at 11:58 ArunArun 6841 gold badge14 silver badges26 bronze badges 2- Would you like to use moment? – Jenny Commented May 25, 2017 at 12:01
- yes definitely.. – Arun Commented May 25, 2017 at 12:02
2 Answers
Reset to default 5The best way that i know is to use momentjs. I have used it with angular 1.x.x with no problems. It's pretty easy to use, check this out. You can add the following row:
nm.pick = moment(nm.pick).format('DD-MM-YYYY');
This should solve your problem,
For type="date"
binding
var app = angular.module("MyApp", []).controller("MyCtrl", function($scope, $filter) {
$scope.nm = {};
$scope.nm.pick = new Date($filter('date')(new Date(), "yyyy-MM-dd"));
});
<script src="https://ajax.googleapis./ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body ng-app="MyApp" ng-controller="MyCtrl">
<input type="date" required ng-model="nm.pick" id="dpicker ">
</body>
Reading other answers, I'd advice the same to go with moment.js
as it is an expert library when playing around with date/time and different timezone.