উত্তর:
সময়ের জন্য সময়, অঞ্চল অঞ্চল, স্থানীয় বনাম ইত্যাদি ইত্যাদি নিয়ে চিন্তা না করে আপনার যখন সাধারণ তারিখের প্রয়োজন হয় তখন আমি সময়গুলির জন্য একটি সাধারণ তারিখ কাঠামো তৈরি করেছি
Date today = Date.Today;
Date yesterday = Date.Today.AddDays(-1);
Date independenceDay = Date.Parse("2013-07-04");
independenceDay.ToLongString(); // "Thursday, July 4, 2013"
independenceDay.ToShortString(); // "7/4/2013"
independenceDay.ToString(); // "7/4/2013"
independenceDay.ToString("s"); // "2013-07-04"
int july = independenceDay.Month; // 7
দুর্ভাগ্যক্রমে। নেট বিসিএলে নেই। তারিখগুলি সাধারণত মধ্যরাতে সেট করা সময়ের সাথে ডেটটাইম অবজেক্ট হিসাবে প্রতিনিধিত্ব করা হয়।
যেমন আপনি অনুমান করতে পারেন, এর অর্থ হ'ল আপনার চারদিকে উপস্থিত পরিচারক টাইমজোন ইস্যুগুলি রয়েছে, যদিও কোনও তারিখের জন্য আপনি কোনও টাইমজোন হ্যান্ডলিং করতে চান না।
dateকোনও কিছুর জন্য ব্যবহার করা খারাপ ধারণা you're যদি না আপনি 100% নিশ্চিত হন যে আপনার অ্যাপটি কেবলমাত্র এক সময় অঞ্চলে কাজ করবে। datetimeআপনার সার্ভারের টাইমজোন কনফিগারেশন যদি কখনও পরিবর্তিত হয় ... এবং আপনি কীভাবে প্রত্যাশা করেন নি সেভাবে ডেটা লেখা শুরু করে, তবে সবচেয়ে সমালোচনামূলকভাবে, সময়স্রোতের দুঃস্বপ্নগুলি এড়ানোর একটি সহজ উপায় সহ, সমালোচনামূলকভাবে উভয় দুনিয়ার সেরা হিসাবে সমস্ত কিছু সংরক্ষণ করা and Datetimeআপনাকে সেখানে বাঁচাতে পারে, dateএকেবারেই পারে না এবং আপনি যদি কখনও dateভুল টাইমজোন প্রসঙ্গে লিখতে শুরু করেন তবে মানসিকভাবে দৃending় হয়ে উঠবেন ।
একটি মোড়কের ক্লাস তৈরি করুন। এটার মতো কিছু:
public class Date:IEquatable<Date>,IEquatable<DateTime>
{
public Date(DateTime date)
{
value = date.Date;
}
public bool Equals(Date other)
{
return other != null && value.Equals(other.value);
}
public bool Equals(DateTime other)
{
return value.Equals(other);
}
public override string ToString()
{
return value.ToString();
}
public static implicit operator DateTime(Date date)
{
return date.value;
}
public static explicit operator Date(DateTime dateTime)
{
return new Date(dateTime);
}
private DateTime value;
}
এবং আপনার যা খুশি তা প্রকাশ করুন value।
DateTimeKind.Utc। এটি সেট করবেন নাDateTimeKind.Unspecified কারণ এটি অন্তর্ভুক্ত টাইম জোনের অফসেটের সাথে সিরিয়ালাইজড / ডিসরিয়ালাইজড হওয়ার গ্যারান্টি দেবে! সময় অঞ্চল নির্বিশেষে একটি ক্যালেন্ডারের তারিখ একই, সুতরাং সিস্টেমটিকে এটি সামঞ্জস্য করতে দেবেন না।
ডেট টাইপটি ভিবি.এনইটি (যেমন ইন্টি সংখ্যায় পরিণত হয়) ব্যবহার করে ডেটটাইম টাইপের একটি মাত্র নাম alias এই উভয় প্রকারেরই একটি তারিখের সম্পত্তি রয়েছে যা আপনাকে সময় সময় সহ 00:00:00 এ সেট করে দেয় returns
ডেটটাইম অবজেক্টে এমন একটি সম্পত্তি রয়েছে যা মানটির কেবলমাত্র তারিখের অংশটি দেয়।
public static void Main()
{
System.DateTime _Now = DateAndTime.Now;
Console.WriteLine("The Date and Time is " + _Now);
//will return the date and time
Console.WriteLine("The Date Only is " + _Now.Date);
//will return only the date
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
DateTime0:00:00 এ নির্ধারিত সময়ের সাথে একটি ফেরত দেয়
কোনও Dateডেটা টাইপ নেই।
তবে আপনি DateTime.Dateকেবল তারিখ পেতে ব্যবহার করতে পারেন ।
ই জি
DateTime date = DateTime.Now.Date;
DateTime.Now.Dateহিসাবে একই DateTime.Today। এমন একটি রয়েছে DateTime.UtcNowযা সর্বজনীন সময় (ইউটিসি) হিসাবে তারিখ-সময় মানটি প্রদান করে, তবে আজকের জন্য কোনও ইউটিসি সমতুল্য পদ্ধতি বা সম্পত্তি নেই; DateTimeKind.UtcNow.Dateউপযুক্ত অভিব্যক্তি।
আপনি সময়সীমাটি যে সময় অংশটি 00:00:00 আছে সেখানে ফিরে আসতে পারেন এবং কেবল এটিকে এড়িয়ে যান। তারিখগুলি টাইমস্ট্যাম্প পূর্ণসংখ্যার হিসাবে পরিচালিত হয় সুতরাং যেভাবে যাইহোক পূর্ণসংখ্যায় উপস্থিত থাকায় সময়টির সাথে তারিখটি একত্রিত করা বুদ্ধিমানের কাজ হয়।
এর জন্য, আপনাকে তারিখটি ব্যবহার করতে হবে, তবে সময়ের মানটিকে উপেক্ষা করতে হবে।
সাধারনত একটি তারিখের সাথে ডেটটাইম হবে 00:00:00
DateTimeধরনের একটি হয়েছে .Dateসম্পত্তি যা ফেরৎ DateTimeউপরে সময় মান সেট করা।
public class AsOfdates
{
public string DisplayDate { get; set; }
private DateTime TheDate;
public DateTime DateValue
{
get
{
return TheDate.Date;
}
set
{
TheDate = value;
}
}
}
আপনি নিম্নলিখিতগুলির মধ্যে একটি ব্যবহার করতে পারেন:
DateTime.Now.ToLongDateString();
DateTime.Now.ToShortDateString();
তবে ছাত্রলীগে কোনও "তারিখ" টাইপ নেই।