با سلام
من تاریخ رو با استفاده از این متد (زیر) از یک مکس تکست باکس میگیرم و از شمسی تبدیلش میکنم به میلادی و در دیتابیس ذخیره میکنم :
public static string SamsiToMiladi(string dt)
{
string[] _Date = dt.Split('/');
int _Year = Convert.ToInt32(_Date[0]);
int _Month = Convert.ToInt32(_Date[1]);
int _Day = Convert.ToInt32(_Date[2]);
PersianCalendar pc = new PersianCalendar();
string today = pc.ToDateTime(_Year, _Month, _Day, 0, 0, 0, 0).ToString().Substring(0, 9);
return today;
}
حالا توی دیتاگریدویو زمانی که میخوام نمایشش بدم میام با استفاده از متد زیر تبدیلش میکنم به شمسی :
public static string MiladiToShamsi(DateTime dt)
{
StringBuilder sb = new StringBuilder();
PersianCalendar pc = new PersianCalendar();
sb.Append(pc.GetYear(dt).ToString("0000"));
sb.Append("/");
sb.Append(pc.GetMonth(dt).ToString("00"));
sb.Append("/");
sb.Append(pc.GetDayOfMonth(dt).ToString("00"));
return sb.ToString();
}
خب مشکلم اینجاست که وقتی تبدیل میشه به شمسی ماه و روز جاشون عوضیه مثلا تاریخ اگه باشه 1396/01/16 اینو اینطوری نشون میده 1/16/1396 من میخوام دقیقأ جوری که ذخیره میشه نمایش داده بشه این چجوریه؟
یه سوال دیگه هم داشتم و اونم اینه که مثلا همین تاریخ 1/16/1396 میخوام به 16 دست پیدا کنم و تو یه متغییر بریزمش این از ساب استرینگ باید استفاده کنم چون بعضی وقتا میشه 10/16/1396 و یا 5/16/1396 و 12/16/1396 با توجه به ماه تعداد اعدادش تغییر میکنه...
ممنون میشم راهنماییم کنید