می خواهم توی پروژه خودم در ستونهای DataGrid View تاریخ رو که در دیتابیس به صورت میلادی ذخیره شده به صورت شمسی نمایش بدم. آیا کدهای زیر که نوشتم درسته ؟
System.Globalization.PersianCalendar pcl = new System.Globalization.PersianCalendar();
string shamsi_date = "";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
int shamsi_year = Convert.ToInt32(pcl.GetYear(ds.Tables[0].Rows[i].Field<DateTime>("birthday")));
int shamsi_month = Convert.ToInt32(pcl.GetMonth(ds.Tables[0].Rows[i].Field<DateTime>("birthday")));
int shamsi_day = Convert.ToInt32(pcl.GetDayOfMonth(ds.Tables[0].Rows[i].Field<DateTime>("birthday")));
shamsi_date = shamsi_year.ToString() + "/" + shamsi_month.ToString() + "/" + shamsi_day.ToString();
ds.Tables[0].Rows[i].SetField<DateTime>("birthday", Convert.ToDateTime(shamsi_date));
}
روشی که شما استفاده کردید به نظر مناسب نیست. شما بهتره یک تابع بنویسید که عملیات تبدیل تاریخ میلادی به شمسی رو انجام بده و در حلقه for فقط از این تابع استفاده کنید. برای این منظور ابتدا یک کلاس ایجاد کنید که عملیات تبدیل تاریخ میلادی به شمسی رو انجام بده.
using MD.PersianDateTime;
using System;
public static class ConvertDateTime
{
public static string ConvertMiladiToShamsi(this DateTime? date, string format)
{
PersianDateTime persianDateTime = new PersianDateTime(date);
return persianDateTime.ToString(format);
}
}
خب حالا فقط کافیه به صورت زیر عمل کنید :
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
shamsi_date = ConvertDateTime.ConvertMiladiToShamsi(YourDate, "yyyy/MM/dd");
}
می بینید که خیلی مرتب تر و خلاصه تر شد.
لینک زیر رو هم مطالعه کنید.
تاریخ :
1404/01/17
- ساعت :
05:35:00 PM
- بازدید :
77
- پاسخ :
0
|
تاریخ :
1399/11/25
- ساعت :
11:22:00 AM
- بازدید :
3921
- پاسخ :
2
|
تاریخ :
1403/12/02
- ساعت :
12:09:00 AM
- بازدید :
295
- پاسخ :
1
|
تاریخ :
1398/07/08
- ساعت :
12:21:00 AM
- بازدید :
3063
- پاسخ :
2
|
تاریخ :
1403/11/23
- ساعت :
08:24:00 PM
- بازدید :
210
- پاسخ :
2
|
تاریخ :
1399/11/10
- ساعت :
10:01:00 PM
- بازدید :
7198
- پاسخ :
4
|
تاریخ :
1399/04/09
- ساعت :
08:51:00 PM
- بازدید :
3109
- پاسخ :
1
|
تاریخ :
1399/03/25
- ساعت :
08:58:00 PM
- بازدید :
3852
- پاسخ :
1
|
تاریخ :
1400/12/18
- ساعت :
10:24:00 AM
- بازدید :
2127
- پاسخ :
1
|
تاریخ :
1401/01/26
- ساعت :
12:14:00 PM
- بازدید :
3021
- پاسخ :
1
|
تاریخ :
1404/01/16
- ساعت :
07:20:00 PM
- بازدید :
120
- پاسخ :
1
|
تاریخ :
1404/01/17
- ساعت :
05:35:00 PM
- بازدید :
77
- پاسخ :
0
|
تاریخ :
1404/01/07
- ساعت :
05:02:00 AM
- بازدید :
116
- پاسخ :
1
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1329
- پاسخ :
0
|
تاریخ :
1403/12/30
- ساعت :
06:43:00 PM
- بازدید :
84
- پاسخ :
1
|
تاریخ :
1398/08/23
- ساعت :
09:16:00 PM
- بازدید :
9879
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
12:18:00 PM
- بازدید :
48
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
10:39:00 AM
- بازدید :
52
- پاسخ :
1
|
تاریخ :
1404/01/02
- ساعت :
05:05:00 PM
- بازدید :
70
- پاسخ :
1
|
تاریخ :
1403/12/30
- ساعت :
06:52:00 PM
- بازدید :
64
- پاسخ :
1
|