AngularJS এ তারিখের সময় ফর্ম্যাট করুন


123

AngularJS এ আমি কীভাবে তারিখ এবং সময়টি সঠিকভাবে প্রদর্শন করব?

AngularJS তারিখ ফিল্টারটি ছাড়াই এবং ছাড়াই নীচের আউটপুটটি ইনপুট এবং আউটপুট উভয়ই দেখায়:

In: {{v.Dt}}  
AngularJS: {{v.Dt | date:'yyyy-MM-dd HH:mm:ss Z'}}

এই মুদ্রণ:

In: 2012-10-16T17:57:28.556094Z 
AngularJS: 2012-10-16T17:57:28.556094Z

কাঙ্ক্ষিত ডিসপ্লের ফর্ম্যাটটি হ'ল 2010-10-28 23:40:23 0400বা2010-10-28 23:40:23 EST

উত্তর:


63

v.Dt সম্ভবত কোনও তারিখ () অবজেক্ট নয়।

Http://jsfiddle.net/southerd/xG2t8/ দেখুন

তবে আপনার নিয়ামক:

scope.v.Dt = Date.parse(scope.v.Dt);

ডেভিড আমার ক্ষেত্রে তারিখের ডেটাবেসে ডিডি / এমএম / ওয়াইওয়াইওয়াই ফর্ম্যাটে সঞ্চিত আছে। আমি রূপান্তর করি যে আমি এটিকে ব্যবহারকারী DD.MM.YYYY ফর্ম্যাটটি পাঠ্যবক্সে দেখি বা সেই বিন্যাসে ব্যবহারকারী ইনপুট নিই এবং এটি আমার মডেলটিতে আপডেট হয়। এটি ডিবিতে যাওয়ার আগে কীভাবে এটি পরিবর্তন করতে হয়। আমার কীভাবে পরিবর্তন হওয়া উচিত
যোগেশ

120

আপনার কোডটি যেমনটি দেখতে পেয়েছে তেমন কাজ করা উচিত ।

এটি নিশ্চিত হওয়ার জন্য আপনাকে এটি করতে হবে যে এটি কাজ করার জন্য v.Dtএকটি সঠিক তারিখের অবজেক্ট।

{{dt | date:'yyyy-MM-dd HH:mm:ss Z'}}

বা যদি ডেটফর্ম্যাটটি স্কোপে তারিখফর্ম্যাট হিসাবে সংজ্ঞায়িত করা হয় = 'yyyy-MM-dd HH: মিমি: এসএস জেড':

{{dt | date:dateFormat }}

ফর্ম্যাটটি একটি প্রসাধনী বিকল্প হিসাবে এটি সাধারণত দেখার জন্য সরাসরি এটি করা ভাল idea
পুস

thnkx..super Ans। 12 ঘন্টা বিন্যাসে সময় দেখানো সম্ভব?
বিষ্ণু প্রসাদ

পূর্ণসংখ্যা বিন্যাসেও কাজ করা একটি ইউনিক্স টাইমস্ট্যাম্প হতে পারে
tom10271

এটি Dateভেরিয়েবলের জন্য কোনও ধরণের হতে হবে না । টাইমস্ট্যাম্প দীর্ঘ কাজ করে খুব ভাল
ভ্লাদ

59

আমি জানি এটি একটি পুরানো আইটেম, তবে ভেবেছিলাম আমি বিবেচনার জন্য অন্য কোনও বিকল্প এড়াতে চাই।

যেহেতু মূল স্ট্রিংটিতে "টি" ডিজারার অন্তর্ভুক্ত নেই, অ্যাঙ্গুলারে ডিফল্ট রূপায়ণ এটি তারিখ হিসাবে স্বীকৃতি দেয় না। আপনি এটিকে নতুন তারিখ ব্যবহার করে জোর করতে পারেন তবে এটি অ্যারেতে ব্যথা হয়। যেহেতু আপনি ফিল্টারগুলি একসাথে পাইপ করতে পারেন, আপনি নিজের ইনপুটটিকে একটি তারিখে রূপান্তর করতে এবং তারপরে তারিখটি প্রয়োগ করতে পারবেন: রূপান্তরিত তারিখে ফিল্টার। নিম্নলিখিত হিসাবে একটি নতুন কাস্টম ফিল্টার তৈরি করুন:

app
.filter("asDate", function () {
    return function (input) {
        return new Date(input);
    }
});

তারপরে আপনার মার্কআপে, আপনি ফিল্টারগুলি একসাথে পাইপ করতে পারেন:

{{item.myDateTimeString | asDate | date:'shortDate'}}

হ্যাঁ, আরও নির্ভরযোগ্য এবং দক্ষ .. ভাগ করে নেওয়ার জন্য ধন্যবাদ
আজহার_স্নেক্সট্রিজ

56

আপনি এইভাবে 'তারিখ' ফিল্টার পেতে পারেন:

var today = $filter('date')(new Date(),'yyyy-MM-dd HH:mm:ss Z');

এটি আপনাকে যে ফরমেটে চান তা আজকের তারিখ দেবে।


হ্যাঁ হ্যাঁ, লেয়ানড্রো আমি জানি না এটি কীভাবে এটি পেল। আমি মনে করি আমি 'ব্যবহার' ভাবছিলাম।
কোডওভাররাইড

49

এখানে একটি ফিল্টার যা তারিখের স্ট্রিং বা জাভাস্ক্রিপ্টের তারিখ () অবজেক্ট গ্রহণ করবে। এটি Moment.js ব্যবহার করে এবং যে কোনও মোমেন্ট.জেস রূপান্তর ফাংশন প্রয়োগ করতে পারে যেমন জনপ্রিয় 'এখন থেকে'

angular.module('myModule').filter('moment', function () {
  return function (input, momentFn /*, param1, param2, ...param n */) {
    var args = Array.prototype.slice.call(arguments, 2),
        momentObj = moment(input);
    return momentObj[momentFn].apply(momentObj, args);
  };
});

তাই ...

{{ anyDateObjectOrString | moment: 'format': 'MMM DD, YYYY' }}

নিজেদের প্রদর্শন করবে নভেম্বর 11, 2014

{{ anyDateObjectOrString | moment: 'fromNow' }}

10 মিনিট আগে প্রদর্শিত হবে

আপনার যদি একাধিক মুহুর্তের ক্রিয়াকলাপগুলি কল করার প্রয়োজন হয় তবে আপনি সেগুলি চেইন করতে পারেন। এটি ইউটিসি এবং তারপরে ফর্ম্যাটগুলিতে রূপান্তর করে ...

{{ someDate | moment: 'utc' | moment: 'format': 'MMM DD, YYYY' }}

https://gist.github.com/cmmartin/341b017194bac09ffa1a


এটি আরও শক্তিশালী পদ্ধতি ! ধন্যবাদ!
Modder

2
এটি উজ্জ্বল এবং মোমেন্ট টাইমজোন এর সাথেও মিলিত হতে পারে। যেমন:। oo foo.created_at | মুহূর্ত: 'tz': 'আমেরিকা / নিউ_ইয়র্ক' | মুহূর্ত: 'ফর্ম্যাট': 'এইচ: মিমি এ জেড'}}
ডেভ কলিন্স

22

এখানে কয়েকটি জনপ্রিয় উদাহরণ দেওয়া হল:

<div>{{myDate | date:'M/d/yyyy'}}</div> 7/4/2014

<div>{{myDate | date:'yyyy-MM-dd'}}</div> 2014-07-04

<div>{{myDate | date:'M/d/yyyy HH:mm:ss'}}</div> 7/4/2014 12:01:59


সহজ, মার্জিত এবং ঠিক কী জিজ্ঞাসা করা হয়েছিল
Ignotus

15

আপনি কি দেখেছেন? ডকুমেন্টেশনের রাইটিং ডাইরেক্টিভস (সংক্ষিপ্ত সংস্করণ) বিভাগটি ?

এইচটিএমএল

<div ng-controller="Ctrl2">
      Date format: <input ng-model="format"> <hr/>
      Current time is: <span my-current-time="format"></span>
</div> 

জাতীয়

function Ctrl2($scope) {
  $scope.format = 'M/d/yy h:mm:ss a';
}

2
আমি মনে করি আপনার মন্তব্যটি খুব কার্যকর। ফিল্টার করতে শিখতে অ্যাঙ্গুলারজেএস-এর একটি প্রয়োজনীয় অংশ। এটি আসলেই এতটা কঠিন নয়।
স্পোক 15

6

একটি নিয়ামকের ভিতরে ফর্ম্যাটটি ইনজেকশনের মাধ্যমে ফিল্টার করা যায় $ ফিল্টার।

var date = $filter('date')(new Date(),'MMM dd, yyyy');

5

সহজভাবে আপনি যদি "জানুয়ারী 30, 2017 4:31:20 অপরাহ্ন" এর মতো আউটপুট দিতে চান তবে সাধারণ পদক্ষেপ অনুসরণ করুন

পদক্ষেপ 1- জেএস নিয়ামক নিম্নলিখিত ভেরিয়েবল ঘোষণা

$scope.current_time = new Date();

ধাপ 2- এইচটিএমএল পৃষ্ঠায় প্রদর্শন করুন

। {কারেন্ট_টাইম | তারিখ: 'মাঝারি'}}


5

আমরা কৌণিক দিকের দিকে তারিখটি ফর্ম্যাট করতে পারি খুব সহজ .... দয়া করে নীচের উদাহরণটি দেখুন:

। {dt | তারিখ: "dd-MM-yyyy"}


3

আপনি momentjsAngularjs এ তারিখ-সময় ফিল্টার প্রয়োগ করতে ব্যবহার করতে পারেন । উদাহরণ স্বরূপ:

angular.module('myApp')
 .filter('formatDateTime', function ($filter) {
    return function (date, format) {
        if (date) {
            return moment(Number(date)).format(format || "DD/MM/YYYY h:mm A");
        }
        else
            return "";
    };
});

যেখানে তারিখ সময় স্ট্যাম্প ফর্ম্যাট হয়।


1

$filterনিয়ামক মধ্যে নির্ভরতা যুক্ত করুন ।

var formatted_datetime = $filter('date')(variable_Containing_time,'yyyy-MM-dd HH:mm:ss Z')

2
যদিও এই কোড স্নিপেট একটি ব্যাখ্যা সহ প্রশ্নটি সমাধান করতে পারে, সত্যিই আপনার পোস্টের মান উন্নত করতে সহায়তা করে। মনে রাখবেন যে আপনি ভবিষ্যতে পাঠকদের জন্য প্রশ্নের উত্তর দিচ্ছেন, এবং সেই লোকেরা আপনার কোড পরামর্শের কারণগুলি জানেন না। আপনার কোডটি ব্যাখ্যামূলক মন্তব্যে ভিড় না করার চেষ্টা করুন, এটি কোড এবং ব্যাখ্যা উভয়ের পাঠযোগ্যতা হ্রাস করে!
কেয়েস

0

আমি আপনাকে moment.js ব্যবহার করার পরামর্শ দিচ্ছি এটি লোকাল অনুসারে তারিখ বিন্যাসকরণের জন্য একটি ভাল সমর্থন পেয়েছে।

একটি ফিল্টার তৈরি করুন যা অভ্যন্তরীণভাবে বিন্যাসের তারিখের জন্য moment.js পদ্ধতি ব্যবহার করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.