فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
سلام به همه.
یه MaskTextBox دارم که Mask ش رو اینجوری تنظیم کردم . 0000/00/00
با متد زیر هم اعتبار سنجیش میکنم که تاریخ درست وارد شده باشه :
public static bool isDateInCorrectFormat(string date)
{
try
{
int year, month, day;
year = int.Parse(date.Trim().Split('/')[0]);
month = int.Parse(date.Trim().Split('/')[1]);
day = int.Parse(date.Trim().Split('/')[2]);
DateTime dateTime = new DateTime(year, month, day, new PersianCalendar());
return true;
}
catch
{
return false;
}
}
ولی اگه کاربر تویه MaskTextBox اینجوری وارد کنه بازم ارور نمیده وارد میشه . 1397/11/1
من میخوام که تاریخ حتما به این صورت باشه :
1397/11/16
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
سلام
return DateTime.ToString("yyyy/MM/dd ")
یا
return PersianDateTime.ToString("yyyy/MM/dd")
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
نقل قول:
نوشته شده توسط
دلتنگ اسمان
سلام
return DateTime.ToString("yyyy/MM/dd ")
یا
return PersianDateTime.ToString("yyyy/MM/dd")
من تاریخ رو توی دیتابیس به صورت رشته ذخیره میکنم . این جواب نمیده
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
منظورت اینه به جای اعداد تک رقمی از 1 تا 9 که برای روز یا ماه وارد میشه، قبل از عدد، صفر قرار بگیره؟ مثلا تاریخ 1/1/1397 تبدیل بشه به 01/01/1397؟
ویرایش 1:
کد دوستمون درسته، شما که داری عمل تبدیل به تاریخ شمسی رو انجام میدی، همون تاریخ شمسی رو به رشته تبدیل کن
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
نقل قول:
نوشته شده توسط
mr.sirwan
منظورت اینه به جای اعداد تک رقمی از 1 تا 9 که برای روز یا ماه وارد میشه، قبل از عدد، صفر قرار بگیره؟ مثلا تاریخ 1/1/1397 تبدیل بشه به 01/01/1397؟
دقیقا همین رو میخوام .
این رو چطور آورده ؟متوجه نمیشم.
PersianDateTime
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
اینجا که تبدیل تاریخ به شمسی رو انجام دادی:DateTime dateTime = new DateTime(year, month, day, new PersianCalendar());
کافیه از همون متغیر dateTime استفاده کنی
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
نقل قول:
نوشته شده توسط
mr.sirwan
اینجا که تبدیل تاریخ به شمسی رو انجام دادی:
DateTime dateTime = new DateTime(year, month, day, new PersianCalendar());
کافیه از همون متغیر dateTime استفاده کنی
حل شد .
فقط به یه روش دیگه .
طول رشته رو شرط گذاشتم که اگه کمتر از 10 بود ارور بده به کاربر .
if (dateBegin.Length != 10)
{
MessageBox.Show("تاریخ را به درستی وارد نمایید");
txtDateBegin.Focus();
txtDateBegin.SelectAll();
return;
}
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
به نظرم زیاد جالب نیس به خاطر یه صفر قرار ندادن به کاربر ارور بدی، در حالی که خودت سمت کدنویسی میتونی این مشکل رو حل کنی
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
نقل قول:
نوشته شده توسط
mr.sirwan
به نظرم زیاد جالب نیس به خاطر یه صفر قرار ندادن به کاربر ارور بدی، در حالی که خودت سمت کدنویسی میتونی این مشکل رو حل کنی
میتونی زحمت تبدیل متد بالا رو به صورتی که میگی رو بکشی ؟
نقل قول: فرمت بندی تاریخ گرفته شده از MaskTextBox به صورت 0000/00/00
public static string isDateInCorrectFormat(string date)
{
try
{
int year, month, day;
year = int.Parse(date.Trim().Split('/')[0]);
month = int.Parse(date.Trim().Split('/')[1]);
day = int.Parse(date.Trim().Split('/')[2]);
DateTime dateTime = new DateTime(year, month, day, new PersianCalendar());
return dateTime.ToString("yyyy/MM/dd");
}
catch
{
return string.Empty;
}
}