PDA

View Full Version : dateTime و cullture



daneshjoo2
جمعه 14 آبان 1389, 01:45 صبح
با سلام
دوستان من یه سایت دو زبانه دارم که وقتی زبان سایت رو از انگلیسی به فارسی تغییر میدم، culture و uiCulture به fa-ir تغییر میکنن...
حالا مشکل اینجاست که متد System.DateTime.Now.ToShortDateString مثلا اگر تو حالت زبان انگلیسی رشته 11/5/2010 رو برگردونه، همین متد تو حالت زبان فارسی رشته 8/14/1389 رو برمیگردنه. که من میخوام همچنان تاریخ میلادی رو بده.
مشخصا این متد برای برگردوندن تاریخ از current culture استفاده میکنه ولی جالب اینه که روی سیستم خودم که سایتو تست میکنم تو هر دو حالت تاریخ میلادی بهم می ده ولی رو هاست نتیجه اونیه که بالا توضیح دادم.
اگه دوستان توضیحی براش داشته باشن ممنون میشم.
با تشکر

MoslemMaleki
جمعه 14 آبان 1389, 16:39 عصر
با سلام
فقط کافی تاریخ شمسی رو دوباره به میلادی تبدیل کنی. برای محکم کاری قبل از تبدیل چک کن ببین تاریخ شمسیه یا نه. برای تبدیل از کد زیر استفاده کن:


Public Function PersianDate(ByVal DT As Object) As String
If DT Is Nothing OrElse DT Is DBNull.Value Then
Return "Error"
Else
Dim PCalendar As New PersianCalendar()
Dim Day As String = PCalendar.GetDayOfMonth(DT)
Dim Month As String = PCalendar.GetMonth(DT)
Dim Year As String = PCalendar.GetYear(DT)
Return Year + "/" + Month + "/" + Day
End If
End Function

daneshjoo2
جمعه 14 آبان 1389, 17:31 عصر
منم قبلا از همین راه مجبور شدم استفاده کنم ، ولی مشکل اینه که دیگه با توابع dateTime نمیشه کار کرد، کلاسی تو دات نت نیست که بشه همین کارو با دادن culture مثلا en-us به DateTime انجام داد؟:متفکر:
بعد اینی که شما نوشتی میلادی رو به شمسی تبدیل میکنه نه برعکس، من مجبور شدم در نهایت خودم یه برنامه بنویسم که این تبدیل رو به صورت رشته ای انجام بده.