PDA

View Full Version : سوال: نمایش تاریخ



zari_attari
چهارشنبه 19 خرداد 1389, 14:16 عصر
توی سایتی که طراحی کردم، تاریخ روز فارسی رو به صورت خطی نشون میدم.
اما این تاریخ :
1- از تاریخ سیستم میخونه
2- توی IE درست نشون میده اما توی FireFox ، تاریخش 400 سال عقبتره

نمیدونم مشکل از کجاست؟
کسی تابع بهتری نداره، توی اینترنت چیز درست حسابی پیدا نکردم.

maxpayn2
چهارشنبه 19 خرداد 1389, 14:39 عصر
همینجا farsilibrary رو سرچ کن ، خیلی توپه

mohsen_namad
چهارشنبه 19 خرداد 1389, 14:42 عصر
تو این تاپیک یه dll خوب برای این کار هست:
http://barnamenevis.org/forum/showthread.php?t=183587

Peyman.Gh
چهارشنبه 19 خرداد 1389, 14:46 عصر
از System.Globalization.PersianCalendar استفاده کنید.

rana-writes
چهارشنبه 19 خرداد 1389, 15:45 عصر
سلام


از System.Globalization.PersianCalendar استفاده کنید.

همینطور که ایشون فرمودن از این استفاده کنین بهتره
به این شکل عمل کنین
اول این using رو اضافه کنین:


using System.Globalization;

بعد توی لود صفحه یا هر جای دیگه ای که میخواین فراخوانی بشه اینطوری بنویسین:


PersianCalendar pc = new PersianCalendar();
DateTime dat = new DateTime();
dat = DateTime.Now;
int year = pc.GetYear(dat);
TxtYear.Text = (pc.GetYear(dat)).ToString();
TxtMonth.Text = (pc.GetMonth(dat)).ToString();
TxtDay.Text = (pc.GetDayOfMonth(dat).ToString());


موفق باشین

Peyman.Gh
چهارشنبه 19 خرداد 1389, 15:53 عصر
بصورت تابع :

public string p()
{
System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
string date = p.GetYear(DateTime.Now) + "/" + p.GetMonth(DateTime.Now) + "/" + p.GetDayOfMonth(DateTime.Now);
return date;
}

نحوه استفاده :
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(p());
}
موفق باشید.

imanasp
چهارشنبه 19 خرداد 1389, 16:14 عصر
بصورت تابع :

public string p()
{
System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
string date = p.GetYear(DateTime.Now) + "/" + p.GetMonth(DateTime.Now) + "/" + p.GetDayOfMonth(DateTime.Now);
return date;
}

نحوه استفاده :
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(p());
}
موفق باشید.



این طوری که شما کد نوشتید اعداد به صورت انگلیسی نمایش داده میشن چطوری باید فارسی نشون داد؟

Peyman.Gh
چهارشنبه 19 خرداد 1389, 16:34 عصر
این طوری که شما کد نوشتید اعداد به صورت انگلیسی نمایش داده میشن چطوری باید فارسی نشون داد؟ بطور مثال در یک تگ Div یک Label قرار دهید و خاصیت Dir تگ Div را برابر Rtl قرار دهید.

<div dir=rtl >
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = p();
}
public string p()
{
System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
string date = p.GetDayOfMonth(DateTime.Now)+"/"+ p.GetMonth(DateTime.Now)+"/"+ p.GetYear(DateTime.Now);
return date;
}

موفق باشید.

imanasp
چهارشنبه 19 خرداد 1389, 18:23 عصر
بطور مثال در یک تگ Div یک Label قرار دهید و خاصیت Dir تگ Div را برابر Rtl قرار دهید.اینطوری عناصر div راست به چپ میشه ربطی توی خروجی اعداد به صورت فارسی نداره!:متفکر:

Peyman.Gh
چهارشنبه 19 خرداد 1389, 18:24 عصر
اینطوری عناصر div راست به چپ میشه فرقی توی خروجی اعداد به صورت فارسی نداره!:متفکر:
در مرورگر 6.0 IE فارسی نمایش داده میشود.

imanasp
چهارشنبه 19 خرداد 1389, 18:32 عصر
در مرورگر IE فارسی نمایش داده میشود.


این هم تصویر اجرا در محیط IE