ডেটটাইম.টোস্ট্রিং ("ডিডি / এমএম / ইয়ে") কেন আমাকে ডিডি-এমএম-ইয়ে দেয়?


155

আমি চাই যে আমার তারিখের সময়টি "dd / MM / yyyy" ফর্ম্যাটে থাকা স্ট্রিতে রূপান্তরিত হোক

আমি যখনই এটি ব্যবহার করে রূপান্তর করি DateTime.ToString("dd/MM/yyyy"), dd-MM-yyyyতার পরিবর্তে আমি পাই ।

আমাকে কি কিছু সংস্কৃতি সম্পর্কিত তথ্য সেট করতে হবে?


ডেটটাইম.টোস্ট্রিং ("ডিডি / এমএম / ইয়ে");
— জিম্পলড

2
আমি এটি করেছিলাম, এটি কাজ করে না, সমস্যাটি তারিখগুলি নয়, এটি "-", আমি এটি উল্লেখ করেছি "/" হিসাবে যেমনটি আমি নির্দিষ্ট করেছি
— ডিস্ক্রাইড

7
মিমি থেকে এমএম ব্যবহার করুন - মিমি কয়েক মিনিটের জন্য নয় কয়েক মাস উপস্থাপন করে।
— লয়েড পাওয়েল


DateTime.ToString জন্য MSDN ডকুমেন্টেশন একেবারে ভুল: " উদাহরণস্বরূপ," DD / MM / yyyyHH: মিমি "ফরম্যাট স্ট্রিং প্রদর্শন একটি নির্দিষ্ট বিন্যাসে তারিখ এবং সময় স্ট্রিং ... ফরম্যাট স্ট্রিং ব্যবহার" / "একটি নির্দিষ্ট যেমন সংস্কৃতি-নির্দিষ্ট সেটিংস নির্বিশেষে তারিখ বিভাজক। "
— কর্নেল আতঙ্ক

উত্তর:


243

স্ল্যাশ একটি তারিখ ডিলিমিটার, সুতরাং এটি বর্তমান সংস্কৃতি তারিখ ডিলিমিটারটি ব্যবহার করবে।

আপনি যদি সর্বদা স্ল্যাশ ব্যবহার করতে এটি হার্ড-কোড করতে চান তবে আপনি এই জাতীয় কিছু করতে পারেন:

DateTime.ToString("dd'/'MM'/'yyyy")

2
@ স্পেন্ডার - কিছু সংস্কৃতিতে তারা।
— ড্যানিয়েল এ। হোয়াইট

আপনার দ্রুত উত্তরের জন্য আপনাকে ধন্যবাদ. তুমি ঠিক. আমি আপনাকে সঠিক উত্তর দেব
— ডিস্ক্রাইভ

6
আপনি এই ফর্ম্যাটটিও ব্যবহার করতে পারেন: ডেটটাইম। টুস্ট্রিং (@ "ইয়াই \ / এমএম \ / ডিডি")
— বেস 2

1
দুটিই MSDN রেফারেন্স: msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#dateSeparator
— russau

2
ব্যাকস্ল্যাশ ব্যবহার করে ফর্ম্যাট স্ট্রিংটি এড়িয়ে যাওয়ার কাজও করে: ডেটটাইম.নো টুস্ট্রিং ("ডিডি \\ / এমএম \\ / ইয়াই");
— টমবি

61

ডেটটাইমের দ্বিতীয় প্যারামিটার হিসাবে সংস্কৃতিInfo.InvariantC সংস্কৃতি পাস করুন , এটি আপনার পছন্দসই স্ট্রিংটি ফিরিয়ে দেবে, এমনকি একটি বিশেষ বিন্যাসও:

DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture)

ফিরে আসবে: 28 | 02 | 2014 |


স্বীকৃত উত্তরের চেয়ে এই কোডটি আরও পরিষ্কার I এস্ট্রোফেসের মাধ্যমে স্ল্যাশ এড়ানো থেকে কমপক্ষে এটি দেখতে আরও ভাল দেখাচ্ছে।
— সের্গেই

2
অব্যাহতি অক্ষর ব্যবহার করার চেয়ে পড়ার জন্য অবশ্যই পড়া সহজ। আমি কিছুটা হতবাক হয়ে গিয়েছি যে পুরো তারিখটি আমি জানতাম না যে আমার তারিখের ফর্ম্যাটগুলি ওভাররাইট হয়ে যাচ্ছে!
— সেভেজ

10

CultureInfo.InvariantCultureযুক্তি হিসাবে যুক্ত করুন :

using System.Globalization;

...

var dateTime = new DateTime(2016,8,16);
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

ফিরে আসবে:

"16/08/2016"

বিকাশকারী যদি এম এম এস ইত্যাদির মতো কয়েকটি অক্ষর দিয়ে টস্টিং পদ্ধতি ব্যবহার করে তবে আপনার সমাধানের সাথে ডেটটাইম.নো টোস্ট্রিং ("ইয়াই / ডিডি / মিমি / মাস", কালচারিআইনফো.আইভার্নেন্ট সংস্কৃতি) ফলাফল আসবে না 2017-01 / 02 / মাস এটি ফলাফল হবে 2017/01/02/2 তম
— ওকান সারিকা

@ ওঙ্কানসারিকা যদি আপনি "/ মাস" দিয়ে তারিখটি প্রত্যয়ী করতে চান তবে তার পরিবর্তে টসস্ট্রিং পদ্ধতির পরে এটি করা উচিত। ডেটটাইম.নো টোস্ট্রিং ("ইয়াই / এমএম / ডিডি", কালচারিআইনফো.আইভারিয়ান্টকালচার) + "/ মাস";
— মিকায়েল এনগ্ভার

1

আপনি যদি এমভিসি, টেবিল ব্যবহার করেন তবে এটি এটির মতো কাজ করে:

<td>@(((DateTime)detalle.fec).ToString("dd'/'MM'/'yyyy"))</td>

-3

বোবা প্রশ্ন / উত্তর সম্ভবত, কিন্তু আপনি চেষ্টা করেছেন dd/MM/yyyy? মূলধন নোট করুন।

mmএকটি নেতৃস্থানীয় শূন্য সঙ্গে মিনিটের জন্য হয়। সুতরাং আমি সন্দেহ করি যে আপনি কি চান।

এটি সহায়ক হতে পারে: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

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