استفاده از تقویم شمسی در ASP.NET Core و Blazor

در این مقاله نحوه تنظیم تقویم هجری شمسی (PersianCalendar) بعنوان تقویم اصلی برنامه در تمام ورژن های ASP.NET Core و اپلیکیشن های مبتنی بر Blazor Server و Web Assembly را بررسی می کنیم.

در مقاله ای تحت عنوان استفاده از تاریخ و DatePicker شمسی در برنامه های ASP.NET MVC که قبلا در سایت قرار دادیم نحوه تنظیم PersianCalendar بعنوان تقویم پیش فرض برنامه در ASP.NET MVC را بررسی کردیم.

هنگامی که تقویم پیش فرض برنامه ما PersianCalendar باشد نمایش تاریخ در تمام بخش ها به صورت خودکار بر اساس تقویم شمسی خواهد بود. همچنین، محاسبات تاریخ از جمله بدست آوردن اختلاف دو تاریخ شمسی با استفاده از اپراتور کسر و ... به درستی انجام می شود.

خوب، بریم سراغ قسمت جذاب ماجرا، یعنی کد:

کلاس فعال کننده تقویم شمسی بعنوان تقویم اصلی برنامه، در ضمیمه همین مقاله قابل دانلود است.

فعال کردن PersianCalendar بصورت کلاس پیش فرض محاسبات تاریخ در تمام ورژن های ASP.NET Core و Blazor Server Application:

ابتدا کلاس PersianDateExtensionMethods.cs در یک فولدر مناسب در برنامه تان اضافه کنید، سپس در فایل Startup.cs در اولین خط متد ConfigureServices این دستور را اضافه کنید:

CultureInfo.DefaultThreadCurrentCulture 
  = CultureInfo.DefaultThreadCurrentUICulture 
  = PersianDateExtensionMethods.GetPersianCulture();

فعال کردن PersianCalendar بصورت کلاس پیش فرض محاسبات تاریخ در Blazor WebAssembly:

ابتدا کلاس PersianDateExtensionMethods.cs در یک فولدر مناسب در برنامه تان اضافه کنید، سپس در فایل Program.cs در اولین خط متد Main این دستور را اضافه کنید:

CultureInfo.DefaultThreadCurrentCulture 
  = CultureInfo.DefaultThreadCurrentUICulture 
  = PersianDateExtensionMethods.GetPersianCulture();

پس از افزودن کد فوق به دمو پیش فرض Blazor Web Assembly، در صفحه FetchData چنین تاثیری را خواهید دید:

تاریخ شمسی در Blazor Web Assembly

پ.ن: استفاده از انتخاب گر تاریخ در ASP.NET Core و Blazor در فرم ها با استفاده از همان کامپوننتی که در مقاله قبلی معرفی شد قابل انجام است.

PersianDateExtensionMethods.zip

تگ ها:

PersianCalendar 2 Persian Culture 2 ASP.NET Core 6 Blazor 1 Web Assembly 1 تاریخ 2 شمسی 2 جلالی 1 تاریخ شمسی 2

 

حسین قاسمی

یکشنبه 17 اردیبهشت 1402 ساعت 14:04

سلام تو نسخه های جدید کار نمی کند رو پروژه ضمیمه، 25 پکیج نصب بود. آیا باید همه پکیج ها روی پروژه های جدید باید نصب شود؟؟

مهدی کرامتی

پنجشنبه 18 خرداد 1402 ساعت 12:01

روی چه ورژنی تست کردید که کار نمی کنه؟

حسین قاسمی

دوشنبه 5 تیر 1402 ساعت 22:00

روی دات نت 5 و بالاتر که فایل startup ندارند