2017-09-26 70 views
-1

当我输入日期并在给定的123476890017这样的事情中执行警报时,我有一个日期输入字段。任何人都可以帮助我呢?如何在AngularJS中将输入日期转换为实际日期?

如果我输入日期,如12/07/2017和警报,结果应该是2017/07/12。

HTML代码:

<input type="date" placeholder="search" ng-model="date"> 

脚本

function formatDate(date) { 
     alert(date); 
} 
+0

尝试'变种X = 123476890017;' '变种Y =新的日期(X)' – Edison

+0

为什么你正在服用的复杂化? 。只是使用日期过滤器。看到我更新的答案。 –

回答

0

它也非常容易使用库像Moment.js

moment("12/07/2017", "DD/MM/YYYY").format("YYYY/MM/DD"); 
=> "2017/07/12" 
+1

为什么要使用整个图书馆? – user5014677

0

你可以试试这个还有:

var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope) { 
 
    $scope.date = 1506413232120; 
 
    $scope.new_date = new Date($scope.date); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
\t {{new_date | date : 'yyyy/MM/dd' }} 
 
</div>

+0

谢谢Raghav先生,但是我想使用ParseDate函数。你可以帮我吗???我不知道如何解析输入日期字符串到真正的日期。 –

+0

这可能会帮助你看看https://stackoverflow.com/questions/4496359/how-to-parse-date-string-to-date – Raghav

+0

@KKSK“*我想使用ParseDate函数*”... ...以及那么你应该在你的问题中指定它!如果你不告诉我们这是什么,你不会得到你想要的答案。 – FluffyKitten

0

使用日期过滤器。 Click here for more details about date filter

$filter('date')(date, format, timezone) 

$scope.newDate = $filter('date')($scope.date, "dd-MM-yyyy"); 

var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope, $filter) { 
 
    //$filter('date')(date, format, timezone) 
 
$scope.newDate = $filter('date')($scope.date, "dd-MM-yyyy"); 
 

 
$scope.take = function(date){ 
 
$scope.newDate = $filter('date')(date, "yyyy-MM-dd"); 
 
console.log($scope.newDate); 
 
} 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl"> \t 
 
    <input type="date" ng-model="date" ng-change="take(date)"> 
 
</div>

相关问题