
شمسی سازی تاریخ در Asp.Net MVC با کلاس PersianCulture
چگونگی شمسی سازی تاریخ در Asp.Net MVC. در این مطلب آموزشی فرا میگیرید که چگونه کالچر سیستم خود را به فارسی تغییر دهید و یا به زبان ساده تاریخ میلادی سیستم را به تاریخ شمسی تبدیل کرده و به کاربران خود نمایش دهید. در این روش کالچر سیستم از حالت میلادی به شمسی تبدیل میشود.
- گام اول : به فایل Global.asax مراجعه کرده و namespace های زیر را در آن using کنید.
using GSD.Globalization;
using System.Threading;- گام دوم : در همان فایل Global.asax کد های زیر را کپی کنید.
protected void Application_BeginRequest(object sender, EventArgs e)
{
var persianCulture = new PersianCulture();
persianCulture.DateTimeFormat.ShortDatePattern = "yyyy/MM/dd";
persianCulture.DateTimeFormat.LongDatePattern = "dddd d MMMM yyyy";
persianCulture.DateTimeFormat.AMDesignator = "ق.ظ";
persianCulture.DateTimeFormat.PMDesignator = "ب.ظ";
Thread.CurrentThread.CurrentCulture = persianCulture;
Thread.CurrentThread.CurrentUICulture = persianCulture;
}- گام سوم : برای اینکه به فیلد تاریخ، فرمت اضافه کنید.یکی از data annotation های زیر را به مدل خود در بالای فیلد زمان اضافه کنید.
با تغییر و جابجایی پارامتر ها میتوانید هزاران مدل فرمت برای نمایش تاریخ و زمان بسازید و محدود به مثال های زیر نیستید.
//شنبه, ۲۶ فروردین ۱۴۰۲
[DisplayFormat(DataFormatString = "{0: dddd, dd MMMM yyyy}")]
//شنبه, ۲۶ فروردین ۱۴۰۲ ۲۲:۵۵:۲۲
[DisplayFormat(DataFormatString = "{0:dddd, dd MMMM yyyy HH:mm:ss}")]
//شنبه, ۲۶ فروردین ۱۴۰۲ ساعت ۲۲:۵۵:۲۲
[DisplayFormat(DataFormatString = "{0:dddd, dd MMMM yyyy ساعت HH:mm:ss}")]
//شنبه, ۲۶ فروردین ۱۴۰۲ ساعت ۲۲:۵۵
[DisplayFormat(DataFormatString = "{0:dddd, dd MMMM yyyy ساعت HH:mm}")]
//شنبه, ۲۶ فروردین ۱۴۰۲ ساعت ۲۲
[DisplayFormat(DataFormatString = "{0:dddd, dd MMMM yyyy ساعت HH}")]
//ساعت ۲۲ شنبه, ۲۶ فروردین ۱۴۰۲
[DisplayFormat(DataFormatString = "{0:ساعت HH dddd, dd MMMM yyyy}")]
//۲۶/۰۱/۱۴۰۲
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
//۱۴۰۲/۰۲/۰۱
[DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}")]نکته مهم در خصوص شمسی سازی
در بیشتر مواقع تاریخ را را به صورت زیر دریافت میکنیم. و باعث عدم نمایش درست تاریخ میشود.
@item.RegisterDateبرای اینکه تاریخ دقیقا مانند فرمت مشخص شده در مدل نمایش داده شود به این صورت بنویسید.
@Html.DisplayFor(Model=> item.RegisterDate)چرا از کلاس PersianCulture استفاده کنیم؟
به طور معمول اکثر برنامه نویسان تاریخ را به صورت میلادی در دیتابیس ذخیره میکنند. زمانی که میخواهند این تاریخ را به کاربر نمایش دهند. به دنبال توابعی میگردند تا با استفاده از آن تاریخ میلادی ذخیره شده در دیتابیس را به شمسی تبدیل کنند. حال شما تصور کنید که در یک پروژه بزرگ نیاز دارید که به تعداد دفعات متعدد تاریخ ها رابه شمسی تبدیل کرده و در صفحه وب نمایش دهید در این صورت ناچارید که تابع تبدیل تاریخ میلادی به تاریخ شمسی را برای تک تک تاریخ ها فراخوانی کنید و این کار شاید کمی دردسرساز به نظر برسد. استفاده پس از کلاس Persian Culture برای نمایش تاریخ میلادی به صورت شمسی استفاده میکنیم.
کلاس PersianCulture
خرید از تهران آی تی به صورت آنلاین میباشد و لینک دانلود به صورت خودکار برای شما ایمیل میشود. همه گزینهها همان فایل کامل را به شما میدهند. تفاوت فقط در نحوه جبران هزینه است؛ انتخاب با وجدان شماست. چنانچه نیاز به هرگونه سوال و یا کمک در خرید آنلاین داشتید با شماره 09121486770 تماس بگیرید. شماره کارت ما 6362141104352035 به نام محمدرضا احدیان میباشد.
































فرم افزودن دیدگاه
با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.