मुझे एंगुलरज में एक दृश्य मिला और मैं वर्तमान तिथि (स्वरूपित) प्रदर्शित करने का प्रयास कर रहा हूं। मैंने सोचा <span>{{Date.now() | date:'yyyy-MM-dd'}}</span>
कि वर्तमान तिथि को प्रदर्शित करना चाहिए।
Date.now()
नोडजेएस फ़ंक्शन है
मुझे एंगुलरज में एक दृश्य मिला और मैं वर्तमान तिथि (स्वरूपित) प्रदर्शित करने का प्रयास कर रहा हूं। मैंने सोचा <span>{{Date.now() | date:'yyyy-MM-dd'}}</span>
कि वर्तमान तिथि को प्रदर्शित करना चाहिए।
Date.now()
नोडजेएस फ़ंक्शन है
जवाबों:
आपको पहले अपने कंट्रोलर में एक डेट ऑब्जेक्ट बनाना होगा:
नियंत्रक:
function Ctrl($scope)
{
$scope.date = new Date();
}
राय:
<div ng-app ng-controller="Ctrl">
{{date | date:'yyyy-MM-dd'}}
</div>
आप इसे एक फ़िल्टर के साथ भी कर सकते हैं यदि आप वर्तमान समय में हर बार जब आप तिथि प्रिंट करना चाहते हैं, तो दिनांक ऑब्जेक्ट को संलग्न नहीं करना चाहते हैं:
.filter('currentdate',['$filter', function($filter) {
return function() {
return $filter('date')(new Date(), 'yyyy-MM-dd');
};
}])
और फिर आपके विचार में:
<div ng-app="myApp">
<div>{{'' | currentdate}}</div>
</div>
खाका
<span date-now="MM/dd/yyyy"></span>
आदेश
.directive('dateNow', ['$filter', function($filter) {
return {
link: function( $scope, $element, $attrs) {
$element.text($filter('date')(new Date(), $attrs.dateNow));
}
};
}])
चूँकि आप Date
किसी टेम्प्लेट (इनलाइन समाधान के लिए) में ऑब्जेक्ट को आसानी से एक्सेस नहीं कर सकते , इसलिए मैंने इस निर्देश को चुना। यह आपके नियंत्रकों को भी साफ रखता है और पुन: प्रयोज्य है।
ठीक है, आप इसे मूंछ की अभिव्यक्ति ( {{Date.now() | date:'dd.MM.yyyy HH:mm:ss'}}
) के साथ कर सकते हैं । आपको उस दिनांक ऑब्जेक्ट को उस क्षेत्र में निर्दिष्ट करने की आवश्यकता है जहां आप इस अभिव्यक्ति का मूल्यांकन करना चाहते हैं।
यहाँ jsfiddle उदाहरण है: jsfiddle
लेकिन यह स्वचालित रूप से मूल्य अद्यतन करने की उम्मीद नहीं है। यह मान कोणीय द्वारा नहीं देखा जाता है, इसलिए आपको हर बार पाचन को ट्रिगर करना होगा आप इसे अपडेट करना चाहते हैं (उदाहरण के लिए $ अंतराल से) ... जो संसाधनों की बर्बादी है (और डॉक्स में भी "अनुशंसित" नहीं है)। बेशक, आप केवल बच्चे के दायरे के साथ गड़बड़ करने के लिए निर्देशों / नियंत्रकों के साथ संयोजन का उपयोग कर सकते हैं (यह हमेशा के लिए छोटा है उदाहरण के लिए रूटस्स्कोप और पाचन तेज होगा)।
बस मेरे 2 सेंट मामले में किसी को इस पर ठोकर :)
मैं यहां जो सुझाव दे रहा हूं, उसका वर्तमान उत्तर के समान परिणाम होगा, लेकिन आपके नियंत्रक को मेरे द्वारा बताए गए तरीके को लिखने की सिफारिश की गई है।
पहले "नोट" पर संदर्भ स्क्रॉल (क्षमा करें, इसमें एंकर नहीं है)
यहाँ अनुशंसित तरीका है:
नियंत्रक:
var app = angular.module('myApp', []);
app.controller( 'MyCtrl', ['$scope', function($scope) {
$scope.date = new Date();
}]);
राय:
<div ng-app="myApp">
<div ng-controller="MyCtrl">
{{date | date:'yyyy-MM-dd'}}
</div>
</div>
आप AngularJS में उपयोग moment()
और format()
कार्य कर सकते हैं ।
नियंत्रक:
var app = angular.module('demoApp', []);
app.controller( 'demoCtrl', ['$scope', '$moment' function($scope , $moment) {
$scope.date = $moment().format('MM/DD/YYYY');
}]);
राय:
<div ng-app="demoApp">
<div ng-controller="demoCtrl">
{{date}}
</div>
</div>
<script type="text/javascript">
var app = angular.module('sampleapp', [])
app.controller('samplecontrol', function ($scope) {
var today = new Date();
console.log($scope.cdate);
var date = today.getDate();
var month = today.getMonth();
var year = today.getFullYear();
var current_date = date+'/'+month+'/'+year;
console.log(current_date);
});
</script>
यहाँ आपके उत्तर का नमूना है: http://plnkr.co/edit/MKugkgCSpdZFefSeDRi7?p=preview
<span>Date Of Birth: {{DateOfBirth | date:"dd-MM-yyyy"}}</span>
<input type="text" datepicker-popup="dd/MM/yyyy" ng-model="DateOfBirth" class="form-control" />
और फिर नियंत्रक में:
$scope.DateOfBirth = new Date();
राय
<div ng-app="myapp">
{{AssignedDate.now() | date:'yyyy-MM-dd HH:mm:ss'}}
</div>
नियंत्रक
var app = angular.module ('myapp', [])
app.run(function($rootScope){
$rootScope.AssignedDate = Date;
})
फ़िल्टर का उपयोग करके @Nick जी के समान एक समाधान , लेकिन पैरामीटर को सार्थक बनाएं:
एक फिल्टर को लागू करें, relativedate
जो दिए गए पैरामीटर के अनुसार वर्तमान तिथि के सापेक्ष तिथि की गणना करता है। नतीजतन, (0 | relativedate)
आज का मतलब है और (1 | relativedate)
कल का मतलब है।
.filter('relativedate', ['$filter', function ($filter) {
return function (rel, format) {
let date = new Date();
date.setDate(date.getDate() + rel);
return $filter('date')(date, format || 'yyyy-MM-dd')
};
}]);
और आपका HTML:
<div ng-app="myApp">
<div>Yesterday: {{-1 | relativedate}}</div>
<div>Today: {{0 | relativedate}}</div>
<div>Tomorrow: {{1 | relativedate}}</div>
</div>
ऐसा करने का एक और तरीका है: नियंत्रक में, वर्तमान तिथि को रखने के लिए एक चर बनाएं जैसा कि नीचे दिखाया गया है:
var eventsApp = angular.module("eventsApp", []);
eventsApp.controller("EventController", function EventController($scope)
{
$scope.myDate = Date.now();
});
HTML दृश्य में,
<!DOCTYPE html>
<html ng-app="eventsApp">
<head>
<meta charset="utf-8" />
<title></title>
<script src="lib/angular/angular.js"></script>
</head>
<body>
<div ng-controller="EventController">
<span>{{myDate | date : 'yyyy-MM-dd'}}</span>
</div>
</body>
</html>
Date.now()
।