سلام
توی پروژه ام تاریخ رو به صورت 1398/11/21 دارم. حالا می خوام کنترل کنم که فرمت تاریخ دقیقا همینه و چیزی جز این نیست. یعنی اگر جز این بود می خوام خطا نمایش بدم.
مثلا موارد زیر جزو غلط ها هستن
1398/11
1398/1/1
1398/000
1398//
و ...
می خوام موقع ثبت اطلاعات توی دیتابیس مطمین باشم دقیقا همین فرمت رعایت شده. کد زیر رو نوشتم ولی جواب نمیده
string DateShamsi = "1398";
if (DateShamsi != string.Format("yyyy/MM/dd"))
{
}
الان فرمت تاریخ در مثال بالا اشتباه هست و میخوام کنترل بشه این موضوع. ممنون میشم بفرمایید چجوری باید فرمت یک رشته رو کنترل کنم.
سلام. برای این کار ابتدا کد زیر را در بدنه نرم افزار قرار دهید تا در همه فرم ها به اون دسترسی داشته باشید.
public static bool CheckDateFormat(string Date)
{
try
{
if (Date.Length != 10) { return false; } /// چک می کند که تعداد رشته تاریخ حتما 10 رقمی باشد
System.String[] userDateParts = Date.Split(new[] { "/" }, System.StringSplitOptions.None);
int Year = int.Parse(userDateParts[0]);
int Month = int.Parse(userDateParts[1]);
int Day = int.Parse(userDateParts[2]);
if (Year < 1300) { return false; } /// در این قسمت میتوانید مقدار وارد شده سال را کنترل کنید
if (Month > 12 || Month < 1) { return false; } /// در این قسمت میتوانید مقدار وارد شده ماه را کنترل کنید
if (Day > 31 || Day < 1) { return false; } /// در این قسمت میتوانید مقدار وارد شده روز را کنترل کنید
return true;
}
catch (Exception)
{
return false;
}
}
دقت داشته باشید که کد فوق مواردی رو که گفتید چک میکنه به علاوه اینکه چک میکنه که ماه وارد شده بین 1 تا 12 و روز وارد شده بین 1 تا 31 باشه. یا مثلا چک میکنه که سال وارده کوچکتر از 1300 نباشه! که این کنترل ها رو میتونید حذف هم بکنید یا تغییر بدید. همین طور شما میتونید طبق الگو هر نوع کنترل دیگه ای که دوست دارید روی اون بذارید.
با فرض اینکه کلاسی که در بدنه فرم ایجاد کردید نام PublicVariable داشته باشد می توانید با کد زیر فرمت تاریخ خودتون رو چک کنید.
string DateShamsi = "1398";
if (PublicVariable.CheckDateFormat(DateShamsi) == false)
{
MessageBox.Show("فرمت تاریخ صحیح نیست");
return;
}
کد رو استفاده بفرمایید و چنانچه هنوز مشکلی داشتید در خدمتم.
موفق باشید.
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
346
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
310
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4263
- پاسخ :
1
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
654
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3170
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3250
- پاسخ :
1
|
تاریخ :
1403/04/12
- ساعت :
07:27:00 PM
- بازدید :
657
- پاسخ :
0
|
تاریخ :
1403/01/29
- ساعت :
08:08:00 AM
- بازدید :
685
- پاسخ :
4
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|