بهترین فرصت آموزش در جشنواره تخفیف های توسینسو بهترین فرصت آموزش در جشنواره تخفیف های توسینسو
مانده تا پایان تخفیف ها
مشاهده دوره ها
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;

پرسیده شده در 1395/09/30 توسط

5 پاسخ

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);
پاسخ در 1395/10/01 توسط
0

کسی نبود؟؟

میخوام روز و ماه بصورت دو رقمی باشه

1//2//1395

بشه 01//02//1395

پاسخ در 1395/10/01 توسط
0

دوست عزیز اوکی شد ولی در مورد روز چطور ممکنه؟

من میخوام روز و ماه تک رقمی یه صفر بیاد اولش؟

و سوال بعدیم اینه آیا اصولی ترین روش همینه؟

تکست باکسی که MASK تاریخ تعریف کردیم براش هم اگه بصورت مستقیم مقدار دهی کنیم مشکلی پیش نمیاد

پاسخ در 1395/10/01 توسط
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();
پاسخ در 1395/10/01 توسط

پاسخ شما