PDA

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



irantkd
جمعه 18 مرداد 1387, 11:02 صبح
سلام به همه کاربران این انجمن
آیا کسی میدونه که چـجوری میشه تاریخ و ساعت شمسی را در یک قسمت از صفحه سایت به نمایش درآورد ؟
حتی کاربر ساعت و تاریخ کامپیوترش تنظیم هم نباشه ، ساعت و تاریخ درست در سایت به نمایش در بیاد.
http://forum.iranled.com/images/smilies2/my.gif چشم براهم !!!

salehbagheri
جمعه 18 مرداد 1387, 12:07 عصر
كافيه يك سورس يا يه DLL تاريخ شمسي رو داخل سايتت قرار بدي و بعد ازش استفاده كني!!!

تو سايت بگردي پره!!

aryaman
جمعه 18 مرداد 1387, 12:10 عصر
فکر کنم این بتونه کمکت کنه.


protected void Page_Load(object sender, EventArgs e)
{
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
//{0} = Year
//{1} = Month
//{2} = Day
string strDate = "{0}/{1}/{2}";
strDate = String.Format(strDate, pc.GetYear(DateTime.Now),pc.GetMonth(DateTime.Now) , pc.GetDayOfMonth(DateTime.Now)-1);
Label1.Text = strDate;
string strtime = "{0}:{1}:{2}";
strtime = String.Format(strtime, pc.GetHour(DateTime.Now), pc.GetMinute(DateTime.Now), pc.GetSecond(DateTime.Now));
Label2.Text = strtime;
string strdate1 = "{0} {1} ,{2} {3}";
string a=pc.GetYear(DateTime.Now).ToString();
int b=pc.GetMonth(DateTime.Now);
string c=pc.GetDayOfMonth(DateTime.Now).ToString();
string d = pc.GetDayOfWeek(DateTime.Now).ToString();
string f = "0";
string week1 = "0";
switch (b)
{
case 1:
f="فروردین";
break;
case 2:
f="اردیبهشت";
break;
case 3:
f="خرداد";
break;
case 4:
f="تیر";
break;
case 5:
f="مرداد";
break;
case 6:
f="شهریور";
break;
case 7:
f="مهر";
break;
case 8:
f="آبان";
break;
case 9:
f="آذر";
break;
case 10:
f="دی";
break;
case 11:
f="بهمن";
break;
case 12:
f = "اسفند";
break;
}

switch (d)
{
case "Saturday":
week1 = "شنبه";
break;
case "Sunday":
week1 = "یکشنبه";
break;
case "Monday":
week1 = "دوشنبه";
break;
case "Tuesday":
week1 = "سه شنبه";
break;
case "Wednesday":
week1 = "چهارشنبه";
break;
case "Thursday":
week1 = "پنج شنبه";
break;
case "Friday":
week1 = "جمعه";
break;
}
strdate1 = String.Format(strdate1,a , week1, c,f);
Label3.Text = strdate1;
}

salehbagheri
جمعه 18 مرداد 1387, 12:14 عصر
توضيح بيشتر به راهنمايي آقاي aryaman :

بايد اول فايل Persian Calendare.Dll رو دانلود كني! بعد از كد استفاده كني!

merlin_vista
جمعه 18 مرداد 1387, 13:49 عصر
PersianCalendar جز از دات نت 2 هست و در فضاي نام System.Globalization موجود ميباشد و احتياجي به هيچ كامپونت يا DLL براي دانلود نداره ....


irantkd (http://barnamenevis.org/forum/member.php?u=70734) با خيال راحت و بدون دانلود هيچ DLL از كد دوست عزيز aryaman (http://barnamenevis.org/forum/member.php?u=71049) استفاده كن . البته قبلاً دوست عزيز آقاي مهدي فراهاني در سايت يه كامپونت خوب براي استفاده آسان از PersianCalendar درست كرده بود كه همراه با سورس در سايت موجود است با جستجو پيدا ميكني

mostafa_sgh
جمعه 18 مرداد 1387, 14:01 عصر
دوستان توجه داشته باشند

اکثر سرورهایی که ما از آنها استفاده میکنیم ، در آمریکا و کانادا هستند.

و دارای اختلاف زمانی با آنها می باشیم.

در نتیجه ابتدا باید این اختلاف را برطرف کنید سپس از آن استفاده کنید :
به عنوان مثال کد بالا رو باید اصلاح کنید :



DateTime curDate = DateTime.Now.AddHours(9).AddMinutes(27);
string strtime = "{0}:{1}:{2}";
strtime = String.Format(strtime, pc.GetHour(curDate), pc.GetMinute(curDate), pc.GetSecond(curDate));
.
.
.


یا به عبارتی دیگر ....

ما تقریباً 9 ساعت و 27 دقیقه جلوتر از اونهائیم .

البته این کار رو با تابع UniversalTime هم میشه انجام داد ولی از اونجائی که ایران قانون زمانی خاصی نداره ( خودتون که در جریانید (: )
نمیشه به اون اعتماد کرد .