2014-04-09 5 views
110

मुझे कोणीय में एक दृश्य मिला और मैं बस वर्तमान दिनांक (स्वरूपित) प्रदर्शित करने की कोशिश कर रहा हूं। मैंने सोचा कि <span>{{Date.now() | date:'yyyy-MM-dd'}}</span> जैसे कुछ को वर्तमान दिनांक प्रदर्शित करना चाहिए।कोणीय - वर्तमान दिनांक प्रदर्शित करें

+0

यह .. लेकिन मैं टी नहीं जानता दिनांक .now() '। – putvande

+2

तो मुझे पहले कंट्रोलर में चर उत्पन्न करना पड़ा? मैंने सोचा कि वर्तमान तारीख की तरह कुछ आसान आसान होगा :) –

+1

'Date.now()' nodeJS फ़ंक्शन – Nay

उत्तर

204

आपको पहले अपने नियंत्रक में एक तिथि वस्तु बनाने के लिए है:

नियंत्रक:

function Ctrl($scope) 
{ 
    $scope.date = new Date(); 
} 

दृश्य:

<div ng-app ng-controller="Ctrl"> 
    {{date | date:'yyyy-MM-dd'}} 
</div> 

JSFiddle example

Angular Date Filter Ref

+0

हाय @ स्लोथ मैं मौजूदा सिस्टम समय प्रदर्शित करने के लिए सीजीआई का उपयोग करना चाहता हूं। मैं संभवतः यह कैसे कर सकता हूं? या यह संभव है? धन्यवाद – bleykFaust

19

ठीक है, आप इसे मूंछ अभिव्यक्ति ({{Date.now() | date:'dd.MM.yyyy HH:mm:ss'}}) के साथ कर सकते हैं। आपको बस उस ऑब्जेक्ट को असाइन करने की आवश्यकता है जहां आप इस अभिव्यक्ति का मूल्यांकन करना चाहते हैं।

यहाँ jsfiddle उदाहरण है: jsfiddle

लेकिन यह स्वचालित रूप से मान अपडेट उम्मीद नहीं है। यह मान कोणीय द्वारा नहीं देखा जाता है, इसलिए जब भी आप इसे अपडेट करना चाहते हैं (उदाहरण के लिए $ अंतराल द्वारा) को पाचन ट्रिगर करना है ... जो संसाधनों का अपशिष्ट है (और दस्तावेज़ों में "अनुशंसित" भी नहीं है)। निस्संदेह आप निर्देशों/नियंत्रकों के साथ संयोजन का उपयोग केवल बच्चे के दायरे के साथ गंदगी के लिए कर सकते हैं (उदाहरण के लिए यह हमेशा छोटा है उदाहरण के लिए रूटस्कोप और पाचन तेज हो जाएगा)।

7

बस मेरे मामले में किसी को 2 सेंट ठोकर पर इस :)

क्या मैं यहाँ का सुझाव दे रहा हूँ वर्तमान जवाब लेकिन यह अपने नियंत्रक तरीका है कि मैं यहाँ का उल्लेख किया है लिखने के लिए सिफारिश की गई है के रूप में एक ही परिणाम होगा । पहले को

Reference पुस्तक "नोट" (क्षमा करें यह लंगर नहीं है)

यहाँ है सुझाया गया तरीका:

नियंत्रक:

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> 
40

आप भी कर सकते हैं

.filter('currentdate',['$filter', function($filter) { 
    return function() { 
     return $filter('date')(new Date(), 'yyyy-MM-dd'); 
    }; 
}]) 

और फिर अपने ध्यान में रखते हुए:

<div ng-app="myApp"> 
    <div>{{'' | currentdate}}</div> 
</div> 
+4

वह – arg20

1

एक फिल्टर के साथ इस अगर आप नहीं चाहते हैं वर्तमान क्षेत्र के लिए हर बार जब आप तारीख प्रिंट करना चाहते हैं एक तारीख वस्तु संलग्न करने के लिए है करने के लिए 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" /> 

और फिर नियंत्रक में:

यहाँ अपने जवाब का नमूना है
2

आप 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> 
20

खाका

<span date-now="MM/dd/yyyy"></span> 

डी irective

.directive('dateNow', ['$filter', function($filter) { 
    return { 
    link: function($scope, $element, $attrs) { 
     $element.text($filter('date')(new Date(), $attrs.dateNow)); 
    } 
    }; 
}]) 

दुर्भाग्य से वहाँ एक इनलाइन समाधान के लिए टेम्पलेट में Date वस्तु का उपयोग करने के कोई रास्ता नहीं हो रहा है। जैसे ही मैं अपने नियंत्रकों को साफ रखना चाहता हूं, मैंने निर्देश का चयन किया।

1

देखें

<div ng-app="myapp"> 
{{AssignedDate.now() | date:'yyyy-MM-dd HH:mm:ss'}} 
</div> 

नियंत्रक

वर एप्लिकेशन = angular.module ('MyApp', [])

app.run(function($rootScope){ 
    $rootScope.AssignedDate = Date; 
}) 
1

एक फिल्टर का उपयोग करके the one of @Nick G. के समान समाधान , लेकिन पैरामीटर को अर्थपूर्ण बनाएं:

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> 
0

करने का एक और तरीका है: नियंत्रक में, एक चर वर्तमान दिनांक धारण करने के लिए बनाने के नीचे दिखाया गया है:

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> 
+0

@ बिल्ला के निर्देश भी बना सकता है, मैंने अपना कोड स्निपेट अपडेट किया है। मुझे उम्मीद है, अब यह और अधिक वर्णनात्मक है। – Sunita

संबंधित मुद्दे