কীভাবে ডেটটাইমকে / নির্দিষ্ট স্ট্রিং ফর্ম্যাট থেকে রূপান্তর করবেন (উভয় উপায়ে, যেমন প্রদত্ত ফর্ম্যাটটি "yyyyMMdd")?


132

ডেটটাইম রূপান্তর করতে আমার সমস্যা হচ্ছে যা স্ট্রিং ফর্ম্যাটে রয়েছে তবে আমি এটি "yyyyMMdd"ফর্ম্যাট ব্যবহার করে রূপান্তর করতে পারছি না ।

আমার কোডটি হ'ল:

string tpoc = refSubClaim.BenefitsFolder.BenefitFolderIdNumber.ToString();
string[] tpocinfo = Regex.Split(tpoc,";");

for (int i = 0; i < tpocinfo.Length; i++)
{
    switch (i)
    {
        case 0:
        {
            string[] tpoc2 = Regex.Split(tpocinfo[0], ",");
            claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
            claimantAuxillaryRecord.TPOCAmount2 = Convert.ToDecimal(tpoc2[1]);
            claimantAuxillaryRecord.FundingDelayedBeyondTPOCStartDate2 = tpoc2[2].ToString();
        }
        break;

ডেটটাইম স্ট্রিং এই মুহূর্তে কোন ফর্ম্যাট?
ফললে 1234

11
এবং আপনার কোড স্নিপেট প্রশ্নের প্রাসঙ্গিকতা কি?
দারিন দিমিত্রভ

2
আমি একটু অস্পষ্ট; আপনি কি একটি তারিখের স্ট্রিং উপস্থাপনা, বা একটি ডেটটাইম অবজেক্টের সাথে কাজ করছেন? এটি একটি ডেটটাইম অবজেক্ট ধরে ধরে আপনি কেবল কল করতে পারেন obj.ToString("yyyyMMdd");
নাথন টেইলর

প্রকৃতপক্ষে TPOCDate2 ইতিমধ্যে একটি পরিবর্তনশীল এবং আমি শুধু ypty2 [0] এ yyymmdd ফর্ম্যাটে হতে টিপোক 2 [0] এ রূপান্তর করতে চাই। আশা করি এটি আপনার প্রশ্নের উত্তর দিয়েছে
আশুতোষ

আপনি কোথাও আটকে আছেন?
দরিউজ ওউনিয়াক

উত্তর:


224

যদি আপনার "ddMMyyyy" ফর্ম্যাটটির সাথে একটি স্ট্রিংয়ের তারিখ থাকে এবং আপনি এটি "yyyyMMdd" রূপান্তর করতে চান তবে আপনি এটি করতে পারেন:

DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy", 
                                  CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");

4
আপনার কোডটির সাথে আটকে গিয়েছে, এটি ডেটটাইম.ট্রি পার্স (স্ট্রিংভ্যালু, আউটপুটআইডেটটাইম আউট) ভাল কাজ করেছে;
ডিজে '

64

পার্সিং ডেটটাইম:

একটি ডেটটাইম পার্স করতে, নিম্নলিখিত পদ্ধতির একটি ব্যবহার করুন:

বিকল্পভাবে, আপনি চেষ্টা-পার্স প্যাটার্ন ব্যবহার করতে পারেন :

কাস্টম তারিখ এবং সময় ফর্ম্যাট স্ট্রিং সম্পর্কে আরও পড়ুন ।

ডেটটাইমকে স্ট্রিংয়ে রূপান্তর করা:

"YyyyMMdd" ফর্ম্যাটে স্ট্রিং হিসাবে একটি ডেটটাইম ফিরিয়ে দিতে, আপনি ToStringপদ্ধতিটি ব্যবহার করতে পারেন ।

  • কোড স্নিপেট উদাহরণ: string date = DateTime.ToString("yyyyMMdd");
  • নোট করুন আপার-কেসড এম এর কয়েক মাস এবং লোয়ার-কেসড এম এর মিনিটগুলি উল্লেখ করুন।

আপনার ক্ষেত্রে:

আপনার ক্ষেত্রে, ধরে নেওয়া যে আপনি যখন তারিখটি বিভিন্ন ফর্ম্যাট বা ভুল ব্যবহারের সময় পরিস্থিতি পরিচালনা করতে চান না, এটি ব্যবহার করা সবচেয়ে সুবিধাজনক হবে ParseExact:

string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse, 
                                          "yyyyMMdd",
                                          CultureInfo.InvariantCulture);

7
এটি একটি পুরানো বিষয়, তবে যারা অনুসন্ধান করছেন তাদের উপরের লিঙ্কটি, "সংস্কৃতি-নির্দিষ্ট ফর্ম্যাট" এখন একটি মৃত লিঙ্ক। এখানে একটি বর্তমান এবং তথ্যবহুল কাস্টম তারিখ এবং সময় ফর্ম্যাট স্ট্রিংগুলি রয়েছে

40

আপনি আপনার স্ট্রিংকে DateTimeএই জাতীয় মানতে রূপান্তর করতে পারেন :

DateTime date = DateTime.Parse(something);

আপনি কোনও DateTimeমানটিকে এই জাতীয় বিন্যাসে রূপান্তর করতে পারেন :

date.ToString("yyyyMMdd");

11

YYYY-MM-dd তারিখের ফর্ম্যাট থেকে স্ট্রিং: উদাহরণ:

TxtCalStDate.Text = Convert.ToDateTime(objItem["StartDate"]).ToString("yyyy/MM/dd");   

10

আপনি যদি DATE টি TIME এর সাথে স্ট্রিং হিসাবেও রাখতে চান । আমরা এটির মতো করতে পারি:

    //Date and Time is taking as current system Date-Time    
    DateTime.Now.ToString("yyyyMMdd-HHmmss");

7
মিনিট কাঁধে ছোট হতে হবে "মি" !? "yyyyMMdd-HHmmss"
CeOnSql

6

DateTime.TryParseExact()আপনি যদি নির্দিষ্ট তারিখের ফর্ম্যাটের সাথে মিল করতে চান তবে ব্যবহার করুন

   string format = "yyyyMMdd"; 
    DateTime dateTime;
    DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
                                             DateTimeStyles.None, out dateTime);

5

আপনি DateTime.TryParse()পরিবর্তে ব্যবহার করতে পারে DateTime.Parse()
আপনার সাথে TryParse()যদি এটি সফল হয় এবং আপনার সাথে Parse()একটি ব্যতিক্রম হ্যান্ডেল করতে হয় তবে একটি রিটার্ন মান রয়েছে



3

yyyy / মিমি / ডিডি সহ এর স্ট্রিং নেই এবং আমার এটি yyyymmdd ফর্ম্যাটে দরকার

আপনার যদি কেবল স্ট্রিং থেকে স্ল্যাশগুলি সরানোর প্রয়োজন হয় তবে আপনি কেবল এগুলি প্রতিস্থাপন করবেন না?

উদাহরণ:

myDateString = "2013/03/28";
myDateString = myDateString.Replace("/", "");

myDateString এখন "20130328" হওয়া উচিত।

ওভারকিলের কম :)



2

সম্পত্তির নামের উপর ভিত্তি করে দেখে মনে হচ্ছে আপনি অ্যাসাইনমেন্টের মাধ্যমে স্ট্রিংটিকে একটি তারিখে রূপান্তর করতে চেষ্টা করছেন:

claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();

এটি সম্ভবত বর্তমান ইউআই সংস্কৃতির কারণে এবং তাই নির্ধারিত হওয়ার পরে এটি তারিখের স্ট্রিংটি সঠিকভাবে ব্যাখ্যা করতে পারে না।


ইয়ে / মিমি / ডিডি এর সাথে তার স্ট্রিং নেই এবং আমার এটি yYYYMDD ফর্ম্যাটে দরকার
আশুতোষ

এবং দাবিদারঅক্সিলারিআরকির্ড করার সময়.টি.পি.ও.সি.ডিট 2 = টিপোক 2 [0]। টোস্ট্রিং ("yyyyMMdd"); এটি কিছু বিল্ড ত্রুটি দেয়। 'স্ট্রিং.টোস্ট্রিং (সিস্টেম.আইফর্ম্যাটপ্রাইডার)' র জন্য সেরা ওভারলোডেড পদ্ধতি ম্যাচটির কিছু অবৈধ যুক্তি রয়েছে
আশুতোষ

@ ম্যাট - সত্যি? আপনি একটি 4+ বছরের প্রতিক্রিয়া সম্পাদনা করেছেন যা কোনও ট্যাব যুক্ত করার উত্তর হিসাবে চিহ্নিতও হয়নি? ওসিডির এটি একটি গুরুতর খারাপ ঘটনা যা আপনি সেখানে পেয়েছেন।
পিটার


0

এই উত্তরটি অনুসন্ধান করার সময় আমি আরও সহজ উপায়টি পেলাম;

string date = DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.GetCultureInfo("en-US"));

আমার কীভাবে মূল্য আছে DateTime? পছন্দ DateTime newDate = DateTime.Parse(Session["date"].ToString());?
WTFZane

0

আপনি এই কোডগুলি চেষ্টা করতে পারেন

claimantAuxillaryRecord.TPOCDate2  = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd"); 

অথবা

claimantAuxillaryRecord.TPOCDate2 = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd hh:mm:ss"); 

1
Godশ্বরের ভালবাসার জন্য (আমাদের প্রভু ত্রাণকর্তা হারাম্বে) কখনই কনভার্ট করুন না o শুধু পার্সেক্সট্যাক্ট বা ট্রাই পার্সে ব্যবহার করুন - ওয়াওএএই দ্রুত!
কোশেরা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.