نوع نمایش زمانی که از مطلب گذشته در asp.net
چه چور زمان به صورت زیر نمایش بدیم؟

پاسخها
5سلام
میبایست از کلاس یا dll های مخصوص اینکار مانند PersianToolsPack استفاده کنید. و تاریخ رو تبدیل به string کنید و نمایش بدید
موفق باشید.

میشه نمونه معرفی کنی
یک کتابخانه در گیت هاب در این مورد MD.PersianDateTime هست.
به عنوان نمونه یک کلاس به نام PersianDate ایجاد کنید و محتوای زیر را در آن Paste کنید.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Extensions
{
public static class PersianDate
{
/// <summary>
/// یک استرینگ تاریخ شمسی را به معادل میلادی تبدیل میکند
/// </summary>
/// <param name="persianDate">تاریخ شمسی</param>
/// <returns>تاریخ میلادی</returns>
public static DateTime ToGeorgianDateTime(this string persianDate)
{
int year = Convert.ToInt32(persianDate.Substring(0, 4));
int month = Convert.ToInt32(persianDate.Substring(5, 2));
int day = Convert.ToInt32(persianDate.Substring(8, 2));
DateTime georgianDateTime = new DateTime(year, month, day,new System.Globalization.PersianCalendar());
return georgianDateTime;
}
/// <summary>
/// یک تاریخ میلادی را به معادل فارسی آن تبدیل میکند
/// </summary>
/// <param name="georgianDate">تاریخ میلادی</param>
/// <returns>تاریخ شمسی</returns>
public static string ToPersianDateString(this DateTime georgianDate)
{
System.Globalization.PersianCalendar persianCalendar = new System.Globalization.PersianCalendar();
string year = persianCalendar.GetYear(georgianDate).ToString();
string month = persianCalendar.GetMonth(georgianDate).ToString().PadLeft(2,'0');
string day = persianCalendar.GetDayOfMonth(georgianDate).ToString().PadLeft(2, '0');
string persianDateString = string.Format("{0}/{1}/{2}", year, month, day);
return persianDateString;
}
/// <summary>
/// یک تعداد روز را از یک تاریخ شمسی کم میکند یا به آن آضافه میکند
/// </summary>
/// <param name="georgianDate">تاریخ شمسی اول</param>
/// <param name="days">تعداد روزی که میخواهیم اضافه یا کم کنیم</param>
/// <returns>تاریخ شمسی به اضافه تعداد روز</returns>
public static string AddDaysToShamsiDate(this string persianDate,int days)
{
DateTime dt = persianDate.ToGeorgianDateTime();
dt = dt.AddDays(days);
return dt.ToPersianDateString();
}
}
}
نحوه استفاده نیز به صورت زیر است
string mystring = DateTime.Now.ToPersianDateString();
string mystring2 = DateTime.Now.AddDaysToShamsiDate();
//و در نهایت مقدار مای استرینگ رو یه جا نشون بدید.

کلاس AddDaysToShamsiDate() رو نمیشناسه

برای تبدیل میلادی به شمسی خط دوم را پاک کنید. خط دوم کاربرد دیگه داره که توی توضیحات کلاس نوشته

ایا با این نوع نمایش در سئو تاثیر دارد یا خیر؟
این نوع نمایش تاریخ فقط برای نمایش به کاربر هست و برای سئو باید متاتگ مخصوص با تاریخ میلادی تعریف کنید.
داخل Repeater اومدم به صورت زیر نوشتم خطا میده

<asp:Repeater ID="RlinkAllpost" runat="server"> <ItemTemplate> <li> <div class="title"> <a href='<%#Eval("ID_post","../../News/{0}/")+Eval("url_post")%>' title='<%# Eval("title_post") %>' style="font-size: 12px; color: <%# Eval("colorpost") %>"><%# Eval("title_post") %></a> </div> <div class="time" style="font:IranSansFaNum"><%#cmsarya.DAL.other.ConvertDateTime(Eval("title_post"))%></div> </li> </ItemTemplate> </asp:Repeater>