PDA

View Full Version : سوال: مشکل با persiancalender



mahsa.n
پنج شنبه 05 اسفند 1389, 12:31 عصر
سلام

من وقتی از persiancalender استفاده میکنم و تاریخ میلادی رو به شمسی تبدیل میکنم ، ماه ها یا روز هایی که تک رقمی هستند رو به صورت تک رقمی برمیگردونه مثل 1380/4/4 .در صورتیکه من میخوام قبل از 4
0 هم قرار بگیره یعنی 1380/04/04
چی کار باید بکنم؟

من از این کد استفاده میکنم

string.Format("{0}/{1}/{2}", ps.GetYear(DateTime.Now), ps.GetMonth(DateTime.Now), ps.GetDayOfMonth(DateTime.Now));

rana-writes
پنج شنبه 05 اسفند 1389, 20:06 عصر
سلام
میتونین از این کد استفاده کنین:


public static string WholeShamsiDate()
{
string year, month, day;

day = pc.GetDayOfMonth(dt).ToString(); ;
if (pc.GetDayOfMonth(dt) < 10)
{
day = "0" + pc.GetDayOfMonth(dt).ToString();
}
month = pc.GetMonth(dt).ToString();
if (pc.GetMonth(dt) < 10)
{
month = "0" + pc.GetMonth(dt).ToString();
}
year = pc.GetYear(dt).ToString();

return (year + "/" + month + "/" + day);
}



موفق باشین

ali_sonami
پنج شنبه 05 اسفند 1389, 20:16 عصر
سلام
این کدئ کجا باید قرار بدم؟
من قبلنا تایم و تاریخ و میریختن تو یه labal این و کجا قرارش بدم؟

rana-writes
جمعه 06 اسفند 1389, 13:13 عصر
من برای کار خودم، این کد، و یه سری تابعهای دیگه که برای به دست آوردن ماه های شمسی بود رو توی یه کلاس ریختم و موقع استفاده مثلا اینطوری فراخوانی میکنم:


string day = PersianDateAccess.WholeShamsiDate();


PersainDataAccess اسم کلاسیه که من انتخاب کردم

موفق باشین

Peyman.Gh
جمعه 06 اسفند 1389, 14:27 عصر
System.Globalization.PersianCalendar persian = new System.Globalization.PersianCalendar();
string year = persian.GetYear(DateTime.Now).ToString();
string month = persian.GetMonth(DateTime.Now).ToString();
string day = persian.GetDayOfMonth(DateTime.Now).ToString();
if (month.Length < 2)
{
month = "0" + month;
}
if (day.Length < 2)
{
day = "0" + day;
}
string Date =year +"/" + month + "/" + day;
Label1.Text = Date;موفق باشید.

mahsa.n
شنبه 07 اسفند 1389, 08:02 صبح
من به صورت اتفاقی از کد پایین استفاده کردم و 0 رو قبل از اعداد تک رقمی قرار داد ، به نظر شما این کد مشکلی نداره؟


string.Format("{0}/{1:00}/{2:00}", ps.GetYear(DateTime.Now), ps.GetMonth(DateTime.Now), ps.GetDayOfMonth(DateTime.Now));