ডেটটাইম.পার্স এবং এটিকে একটি নির্দিষ্ট বিন্যাসের সাথে কাজ করে


141

ফর্ম্যাটে কোনও এক্সএমএল ফাইল থেকে আমার ডেটটাইম ফিরে আসবে:

20080916 11:02

হিসাবে হিসাবে

yyymm hh: ss

আমি এটি কীভাবে ডেটটাইম.পারস ফাংশনটি পেতে পারি? অর্থাৎ ত্রুটি না করে পার্স করবেন? চিয়ার্স

উত্তর:


246
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

ধরে নিচ্ছেন আপনি বোঝাতে চেয়েছেন যে মিনিটগুলি কয়েক সেকেন্ডের পরে নয়, ঘন্টা পরে চলেছে - আপনার উদাহরণটি কিছুটা বিভ্রান্তিকর।

ParseExact ডকুমেন্টেশন অন্যান্য overloads বিবরণ, যদি আপনি পার্স স্বয়ংক্রিয়ভাবে ইউনিভার্সাল টাইম বা ওই জাতীয় কিছু রূপান্তর করার সময় ঘটেছিলো।

@ জোয়েল কোহোর্ন যেমন উল্লেখ করেছেন, ট্রাই পার্সি এক্স্যাক্ট ব্যবহারের বিকল্পও রয়েছে , যা অপারেশনের সাফল্য বা ব্যর্থতার ইঙ্গিত দেয় এমন একটি বুলিয়ান মান প্রদান করবে - আমি এখনও আছি। নেট 1.1, তাই আমি প্রায়শই এটি ভুলে যাই।

আপনার যদি অন্য ফর্ম্যাটগুলি বিশ্লেষণ করতে হয় তবে আপনি স্ট্যান্ডার্ড ডেটটাইম ফর্ম্যাট স্ট্রিংগুলি পরীক্ষা করে দেখতে পারেন ।



এছাড়াও: স্ট্যান্ডার্ড এক্সএমএল এর নিজস্ব নির্দিষ্ট নির্দিষ্ট ডেটটাইম ফর্ম্যাট রয়েছে এবং নেট এক্সএমএল সরঞ্জামগুলি এটি পড়তে সক্ষম হওয়া উচিত।
জোয়েল কোহোর্ন 16

এক্ষেত্রে এটি শেষ প্যারামিটারটি শূন্য হিসাবে ঠিক আছে তবে যে কেউ এই সংস্কৃতিআইনফোর.আইভিনিয়ার্টকালচার খুঁজে পান অন্যথায় আপনি যদি আপনার ডেটটাইম "1823/01/01" এর মতো কিছু করে থাকেন তবে সমস্যা হতে পারে।
টোডিলো

@ জোয়েলকোহুর্ন standard XML specific DateTime format?
কিকিনেট

10

টিপটির জন্য ধন্যবাদ, আমি আমার তারিখ "20071122" পার্স করার জন্য এটি ব্যবহার করেছি, আমার ডেটটাইম স্টাইল যুক্ত করার দরকার ছিল, আমি কোনওটিই ব্যবহার করি নি এবং এটি কাজ করেছে:

DateTime dt = DateTime.MinValue;

DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.