رفع مشکل
با سلام ووقت بخیر همانطور که در تصویر می بینید من تاریخ ثبت کالا را درست کردم ولی تمایل دارم از روش شما تعیین اینکه چه مدت هست که کالا در سایت اضافه شده استفاده کنم برای رفع این مشکل باید چیکار کنم ممنون میشم راهنمایی بفرمایید
پاسخ ها
محمد اشرافی
سلام وقت بخیر ، از این متد استفاده کنید
public static string GetTimeAgo(this DateTime dateTime)
{
var now = DateTime.Now;
int year = now.Year - dateTime.Year;
int month = now.Month - dateTime.Month;
int days = now.Day - dateTime.Day;
int hours = now.Hour - dateTime.Hour;
int minutes = now.Minute - dateTime.Minute;
int seconds = now.Second - dateTime.Second;
if (year > 0)
{
return $"{year} سال پیش";
}
else if (month > 0)
{
return $"{month} ماه پیش";
}
else if (days > 0)
{
return $"{days} روز پیش";
}
else if (hours > 0)
{
return $"{hours} ساعت پیش";
}
else if (minutes > 0)
{
return $"{minutes} دقیقه پیش";
}
else if (seconds > 0)
{
return $"{seconds} ثانیه پیش";
}
else
{
return "لحضاتی پیش";
}
}
}
و برای استفاده کردن هم به این شکله :
.
@item.CreationDate.GetTimeAgo()
به این هم توجه کنید اون متد یه Extension متد هست پس باید توی یه کلاس Static قرار بگیره
کورش ندیمی
با سلام و وقت بخیر خدمت جناب شریفی لطف بفرمایید موردی را که گفتین بررسی کردم ولی دچار خطا شدم من کدی که در قسمت ثبت اطلاعات برای درج کالا استفاده کردم همراه کلاس خود شما فرستادم ممنون میشم بفرمایید ایراد کارم کجا هست
محمد اشرافی
سلام ، مشکل از اینجاست که شما تاریخ شمسی ذخیره میکنید
هیچ وقت تاریخ شمسی رو توی دیتابیس ذخیره نکنید چه توی نمایش دادن و چه توی Search کردن به مشکل می خوردید همیشه تاریخ میلادی ذخیره کنید
کورش ندیمی
با سلام لطفا بفرمایید برای حل این مشکل باید چیکار کنم
محمد اشرافی
نوع تاریخی که ذخیره میکنید میلادی باشه ( از نوع DateTime )
کورش ندیمی
ببخشید مهندس یعنی در قسمت جدول کالاهام که الان اون را از نوع string زدم تبدیلش بکنم به datatime یا توی کنترلر اینکار را انجام بدم
محمد اشرافی
بله باید توی دیتابیس اون فیلد رو از نوع DateTime در نظر بگیرید
و هر جا خواستید می تونید با اون متد هایی که داریم تبدیل اش کنید به شمسی یا هر نوع دیگه ای که خواستید