PDA

View Full Version : سوال: {01/01/0001 12:00:00 ق.ظ} تاریخ در DateTime



fakhravari
جمعه 27 مرداد 1391, 18:06 عصر
با سلام
دوستان یه مشکل عجیبی که بر خوردم اینه که یه نمونه از کلاس DateTime میسازم.
بعد وقتی مقدارشو میگیرم {01/01/0001 12:00:00 ق.ظ} نشون میده
DateTime New = new DateTime();
:اشتباه:
ولی اگر یک مقدار بدیمش درست میده

dorparasti
جمعه 27 مرداد 1391, 19:11 عصر
این یک مشکل نیست . تا جایی که من دیدم وقتی از این روش برای ساخت یک شی جدید استفاده می کنید مقدار پیش فرض اون نوع در متغیر تعریف شده قرار می گیره . این مقدار پیش فرض برای تاریخ مقدار 01/01/0001 12:00:00 ق.ظ هستش . برای Guid مقدار 0000-0000-0000-0000 هستش . و بقیه انواع هم به همین ترتیب .



DateTime date= new DateTime() // 01/01/0001
Guid id=new Guid() // 0000-0000-0000-00000-0000

h_r_sh
جمعه 27 مرداد 1391, 19:21 عصر
این یک مشکل نیست . تا جایی که من دیدم وقتی از این روش برای ساخت یک شی جدید استفاده می کنید مقدار پیش فرض اون نوع در متغیر تعریف شده قرار می گیره . این مقدار پیش فرض برای DateTime (http://msdn.microsoft.com/en-us/library/system.datetime.minvalue.aspx) ، {01/01/0001 12:00:00 ق.ظ} هستش . برای Guid مقدار 0000-0000-0000-0000 هستش . و بقیه انواع هم به همین ترتیب .



DateTime date= new DateTime()
Guid id=new Guid()




DateTime dt = DateTime.Now;//Value :8/17/2012 19:49:06
Guid g = Guid.NewGuid();//Value :1ae9710e-7242-4645-be6d-3c830ab67f12

fakhravari
جمعه 27 مرداد 1391, 22:27 عصر
ممنون از دوستان.
DateTime dt = DateTime.Now;
string ddd = dt.ToString();
حالا چرا اینطوری شده.
قبلا که نمونه می ساختم اینطوری نمیشد.

mahmood_4246
جمعه 27 مرداد 1391, 22:41 عصر
کلن VS بعضی اوقات قاط میزنه .. دوستان راه حل های ابتکاری ندن .. بدتر طرف گیج میشه

dorparasti
شنبه 28 مرداد 1391, 00:11 صبح
ممنون از دوستان.
DateTime dt = DateTime.Now;
string ddd = dt.ToString();
حالا چرا اینطوری شده.
قبلا که نمونه می ساختم اینطوری نمیشد.
الان خروجی این چیه ؟

fakhravari
شنبه 28 مرداد 1391, 01:11 صبح
الان خروجی این چیه ؟
درست کار میکنه

h_r_sh
شنبه 28 مرداد 1391, 13:44 عصر
الان خروجی این چیه ؟
وقتی که یک نوع DateTime رو می خواین تبدیل کنید به string، علاوه بر متد ToString() میشه از سه متد دیگه هم کمک گرفت. بسته به اینکه نیاز باشه خروجی چه شکلی باشه:

DateTime dt = DateTime.Now;
string s1 = dt.ToString();
string s2 = dt.ToLongDateString();
string s3 = dt.ToLongTimeString();
string s4 = dt.ToShortDateString();
string s5 = dt.ToShortTimeString();

fakhravari
شنبه 28 مرداد 1391, 20:39 عصر
نه با متد هاش مشکلی ندارم.
مشکل اینکه نمونه ای که میسازم مقدار 1 دارن همشون یعنی انگار دنیا تازه شروع شده.
ولی به این شکل مشکلی نیست و درست مقدار میگیره DateTime dt = DateTime.Now;