PDA

View Full Version : سوال: نحوه ذخیره و بازیابی تاریخ شمسی در ASP.NET به زبان #C



rspchs
یک شنبه 16 تیر 1392, 11:10 صبح
با سلام
من برای ذخیره تاریخ در sql ام از دستور datetime.now استفاده می کنم من می خوام تاریخ رو به صورت شمسی در پایگاه داده ام ذخیره کنم و برای نمایش در کنترل هایی مثل Grid View or Data List استفاده کنم در ضمن یه کامپوننت تاریخ شمسی هم دارم اما نمی دونم چه طوری ازش استفاده کنم
منتظر جوابتون هستم
با تشکر

rspchs
یک شنبه 16 تیر 1392, 16:38 عصر
لطفا کمک کنید

farhud
یک شنبه 16 تیر 1392, 19:02 عصر
اگه در بانک از نوع datetime استفاده کنی به هیچ وجه نمی تونی تاریخ شمسی را در اون ذخیره کنی.

برای اینکار بهتره یک فیلد از نوع char(10) ایجاد کنی و با به دست آوردن تاریخ شمسی آن را درون این فیلد ذخیره کنی. برای تاریخ شمسی هم می‌تونی از Grlobalization استفاده کنی (Name Space) و با استفاده از کلاس PersianCalanar تاریخ شمسی را به دست بیاری.

همچنین تاریخ را به صورت 1392/02/02 ذخیره کن. یعنی روزها و ماه‌هایی که کمتر از 10 هستند را با 0 دو رقمی کن.

rspchs
یک شنبه 16 تیر 1392, 23:05 عصر
نحوه استفاده از کلاس PersianCalanar به چه صورت است

من از متد Persian Era هم استفاده کردم ولی توی دیتابیس فقط یک عدد تک رقمی ذخیره می شه
در ضمن تاریخ سیستم من به میلادی هست

لطفا کمکم کنید گیر افتادم

farhud
دوشنبه 17 تیر 1392, 09:53 صبح
using System.Globalization;

PersianCalendar taghvim = new PersianCalendar();
DateTime tarikh = DateTime.Now;

string pDate=taghvim.GetYear(tarikh).ToString() + "/" + taghvim.GetMonth(tarikh).ToString() + "/" + taghvim.GetDayOfMonth(tarikh).ToString();

hamedd82
دوشنبه 17 تیر 1392, 11:46 صبح
با سلام
من برای ذخیره تاریخ در sql ام از دستور datetime.now استفاده می کنم من می خوام تاریخ رو به صورت شمسی در پایگاه داده ام ذخیره کنم و برای نمایش در کنترل هایی مثل Grid View or Data List استفاده کنم در ضمن یه کامپوننت تاریخ شمسی هم دارم اما نمی دونم چه طوری ازش استفاده کنم
منتظر جوابتون هستم
با تشکر

من برای تبدیل تاریخ میلادی به شمسی از behcomponent استفاده میکنم
طریقه استفاده :
برای اضافه کردن کامپوننت :
1- روی پروژه راست کلیک و گزینه Add Reference را انتخاب کنید و در پنجره باز شده کامپوننت مورد نظر خود را انتخاب کنید

2- فضای نام behcomponents را به قسمت using اضافه کنید



using BehComponents;


3- کد زیر را به پروژه اضافه کنید


PersianDateTime persianDate = PersianDateTime.Today;
Label1.Text = persianDate.ToString();

4- حالا می تونید مقدار لیبل رو در بانک خود ذخیره کنید

کامپوننت را دریافت کنید
106850