با سلام در زمان استفاده از datepicker در سیستم تاریخ ها بعد از اینکه به صورت شمسی در view قرار میگیرند در زمان ذخیره سازی به صورت میلادی در دیتابیس ذخیره میشوند و اما مشکل من اینکه در هاست به صورت همون شمسی در دیتابیس ذخیره میشن . مشکل از کجاس ؟
سلام دوست من وقتتون بخیر
شما داخل کدتون زمانی که تاریخ رو میخواین ذخیره کنید اون رو به میلادی تبدیل کنید و بعد داخل دیتابیستون ذخیره کنید
با سلام - تاریخ چک کردم تویه مدل ارسال میشه به صورت میلادی فقط جهت نمایش شمسی و تاریخ در اصل میلادی نمیدونم تویه هاست چه کانفیگ خاصی زدن به صورت شمسی ذخیره میشه ولی در اصل خود تاریخ میلادی هست .
اگر کدتون رو بررسی کردید و مقداری که دارید ذخیره میکنید رو به میلادی تبدیل کردید به پشتیبانی هاست یا سرورتون تیکت بزنید دوست من
با سلام شما نمونه کدی دارید که تبدیل کنه - که ازش تست گرفته باشید
من از model میگیریم از این روش استفاده میکنم اصلا یه تاریخ دیگه بر میگردونه
PersianCalendar pc = new PersianCalendar();
DateTime dt = new DateTime(model.PaymentDate
.Year, model.PaymentDate.Month, model.PaymentDate.Day, pc);
اصلا سال 2670 تویه دیتابیس ذخیره میشه - هر کار دیگه ای هم کردم همون تاریخ 1401 رو بر میگردونه.
برای قسمت front از همین persian datepicker که استاد مدائنی استفاده کردن استفاده میکنم .
به پشتیبان هم تیک میزنم میگه ورژن دیتایس ها با هم یکیه . ماله مشهد هاست هم هست . میگه نمیدونم D:
با سلام مشکل حل شد . باید در فایل program.cs
قبل از app.usestaticfile
فایل CultureInfo رو اضافه کنیم . در asp.net core 3 نیاز نیست اما .net core 6 باید انجام داد .
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("fa-IR")
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-US"),
// Formatting numbers, dates, etc.
SupportedCultures = supportedCultures,
// UI strings that we have localized.
SupportedUICultures = supportedCultures
});
خداروشکر دوست من مشکلتون رفع شد
ممنون بابت به اشتراک گذاری راه حل
موفق باشید دوست من