0
درج تاریخ جاری
سلام
چطوری میشه تاریخ شمسی رو توی تکست باکس درج کنم که ماه بصورت دو رقمی نوشته بشه
using System.Globalization;
PersianCalendar PC = new PersianCalendar();
DateTime now = DateTime.Now;
string PDate = PC.GetYear(DateTime.Now).ToString() + "/" + PC.GetMonth(DateTime.Now).ToString() + "/" + PC.GetDayOfMonth(DateTime.Now).ToString();
textEdit9.Text = PDate;
5 پاسخ
1
.ToString("00")
1
سلام دوست عزیز، شما باید در صورت یک رقمی بودن ماه یک 0 به ابتدای اون اضافه کنید:
PersianCalendar PC = new PersianCalendar(); DateTime now = DateTime.Now; var month = PC.GetMonth(DateTime.Now); string PDate = PC.GetYear(DateTime.Now).ToString() + "/" + (month < 10 ? "0" + month : month.ToString()) + "/" + PC.GetDayOfMonth(DateTime.Now);
0
کسی نبود؟؟
میخوام روز و ماه بصورت دو رقمی باشه
1//2//1395
بشه 01//02//1395
0
دوست عزیز اوکی شد ولی در مورد روز چطور ممکنه؟
من میخوام روز و ماه تک رقمی یه صفر بیاد اولش؟
و سوال بعدیم اینه آیا اصولی ترین روش همینه؟
تکست باکسی که MASK تاریخ تعریف کردیم براش هم اگه بصورت مستقیم مقدار دهی کنیم مشکلی پیش نمیاد
1
روز رو هم به همین صورت اوکی کنید، پیشنهاد من اینه که یک Extension Method برای DateTime بنویسید که تاریخ شمسی رو براتون برگردونه و تو همه قسمت های برنامه ازش استفاده کنید.
public static string GetPersianDate(this DateTime date)
{
PersianCalendar PC = new PersianCalendar();
var month = PC.GetMonth(date);
var day = PC.GetDayOfMonth(date);
return PC.GetYear(date).ToString() + "/" + (month < 10 ? "0" + month : month.ToString()) + "/" + (day< 10 ? "0" + day : day.ToString());
}
// usage
var persianDate = DateTime.Now.GetPersianDate();