PDA

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



eL2rado
یک شنبه 22 شهریور 1388, 06:22 صبح
سلام دوستان...برای نمایش تاریخ شمسی باید از چه کدی و تو کدوم قسمت استفاده کنم؟؟ تو masterpage.master یا masterpage.master.cs ؟
لطف میکنید اگر راهنماییم کنید

liliyan87
یک شنبه 22 شهریور 1388, 16:33 عصر
باید از یه کلاس یا یه کامپوننت استفاده کنی که تاریخ شمسی برگردونه یا یه کلاس بنویسی.
با چه زبانی میخوای تا برات بفرستم یه کلا ستاریخ شمسی؟

hosna66
یک شنبه 22 شهریور 1388, 16:56 عصر
سلام.
اول میتونی کلاس زیر رو به برنامت اضافه کن.(کلاس persiandate)

namespace bookshop
{
publicclassPersianDate
{
System.Globalization.PersianCalendar _PDate;
publicDateTime enDate { set { SetDate(value); } }
string year = "";
string _NameOFMonth = "";
string _Month = "";
string month
{
get { return _Month; }
set
{
switch (value)
{
case"1":
{
_NameOFMonth = "ه©ي©§یë";
break;
}
case"2":
{
_NameOFMonth = "ں©§ی ى¬¢";
break;
}
case"3":
{
_NameOFMonth = "¦©§ں§";
break;
}
case"4":
{
_NameOFMonth = "¢ی©";
break;
}
case"5":
{
_NameOFMonth = "ꩧں§";
break;
}
case"6":
{
_NameOFMonth = "¬ى©یي©";
break;
}
case"7":
{
_NameOFMonth = "êى©";
break;
}
case"8":
{
_NameOFMonth = "™ ںë";
break;
}
case"9":
{
_NameOFMonth = "™¨©";
break;
}
case"10":
{
_NameOFMonth = "§ی";
break;
}
case"11":
{
_NameOFMonth = " ىêë";
break;
}
case"12":
{
_NameOFMonth = "ں«هë§";
break;
}
}
_Month = value;
}
}
string _Day = "";
string dayName = "";
string day
{
get { return _Day; }
set
{
_Day = value;
}
}
string _DayOfWeek = "";
string dayOfWeek
{
get
{
return _DayOfWeek;
}
set
{
switch (value)
{
case"Saturday":
{
_DayOfWeek = "¬ë ى";
break;
}
case"Sunday":
{
_DayOfWeek = "یک¬ë ى";
break;
}
case"Monday":
{
_DayOfWeek = "§ي¬ë ى";
break;
}
case"Tuesday":
{
_DayOfWeek = "«ى ¬ë ى";
break;
}
case"Wednesday":
{
_DayOfWeek = "چىں© ¬ë ى";
break;
}
case"Thursday":
{
_DayOfWeek = "پë¤ ¬ë ى";
break;
}
case"Friday":
{
_DayOfWeek = "¤êمى";
break;
}
}
}
}
public PersianDate()
{
_PDate = new System.Globalization.PersianCalendar();
}
public PersianDate(DateTime enDate)
{
_PDate = new System.Globalization.PersianCalendar();
SetDate(enDate);
}
privatevoid SetDate(DateTime enDate)
{
year = _PDate.GetYear(enDate).ToString();
month = _PDate.GetMonth(enDate).ToString();
day = _PDate.GetDayOfMonth(enDate).ToString();
dayOfWeek = _PDate.GetDayOfWeek(enDate).ToString();
}
publicstring ToShortDateString(DateTime enDate)
{
SetDate(enDate);
return day + "/" + month + "/" + year;
}
publicstring ToShortDate_DayString(DateTime enDate)
{
SetDate(enDate);
return dayOfWeek + " " + day + "/" + month + "/" + year;
}
publicstring ToLongDateString(DateTime enDate)
{
SetDate(enDate);
return dayOfWeek + " " + " " + day + " " + _NameOFMonth + " " + year;
}
}
برای استفاده از این کلاس در برنامت یه لیبل بذار بنام مثلا ltarikh و در قسمت کدنویسی.cs کدهای زیر رو بنویس
PersianDate myPC = new PersianDate();

ltarikh.Text = myPC.ToShortDateString(DateTime.Now);

با اینکار تاریخ امروز در لیبل ltarikh قرار میگیره. اگه بخوای تاریخ کامل فارسی با روز فته نمایش داده شه بجای تابع toshortDateString از ToLongDateString استفاده کن

راستی کداهای بالا بعضی قسمتاش فارسیه که بهم ریخته و تو برنامت کپی کنی کار میکنه

موفق باشی

eL2rado
یک شنبه 22 شهریور 1388, 22:04 عصر
سلام. یه کلاس PersianDate.cs ساختم که اینم کد کاملش :


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

/// <summary>
/// Summary description for Persiandate
/// </summary>
namespace bookshop
{
public class PersianDate
{
public PersianDate()
{
//
// TODO: Add constructor logic here
//
System .Globalization .PersianCalendar _PDate;
publicDateTime enDate
{
set
{
SetDate(value);
}
}
string year = "";
string _NameOFMonth = "";
string _Month = "";
string month
{
get
{
return _Month;
}
set
{
switch (value)
{
case"1":
{
_NameOFMonth = "ه©ي©§یë";
break;
}
case"2":
{
_NameOFMonth = "ں©§ی ى¬¢";
break;
}
case"3":
{
_NameOFMonth = "¦©§ں§";
break;
}
case"4":
{
_NameOFMonth = "¢ی©";
break;
}
case"5":
{
_NameOFMonth = "ꩧں§";
break;
}
case"6":
{
_NameOFMonth = "¬ى©یي©";
break;
}
case"7":
{
_NameOFMonth = "êى©";
break;
}
case"8":
{
_NameOFMonth = "™ ںë";
break;
}
case"9":
{
_NameOFMonth = "™¨©";
break;
}
case"10":
{
_NameOFMonth = "§ی";
break;
}
case"11":
{
_NameOFMonth = " ىêë";
break;
}
case"12":
{
_NameOFMonth = "ں«هë§";
break;
}
}
_Month = value;
}
}
string _Day = "";
string dayName = "";
string day
{
get {
return _Day;
}
set
{
_Day = value;
}
}
string _DayOfWeek = "";
string dayOfWeek
{
get
{
return _DayOfWeek;
}
set
{
switch (value)
{
case"Saturday":
{
_DayOfWeek = "¬ë ى";
break;
}
case"Sunday":
{
_DayOfWeek = "یک¬ë ى";
break;
}
case"Monday":
{
_DayOfWeek = "§ي¬ë ى";
break;
}
case"Tuesday":
{
_DayOfWeek = "«ى ¬ë ى";
break;
}
case"Wednesday":
{
_DayOfWeek = "چىں© ¬ë ى";
break;
}
case"Thursday":
{
_DayOfWeek = "پë¤ ¬ë ى";
break;
}
case"Friday":
{
_DayOfWeek = "¤êمى";
break;
}
}
}
}

public PersianDate()
{
_PDate = new System.Globalization.PersianCalendar();
}
public PersianDate(DateTime enDate)
{
_PDate = new System.Globalization.PersianCalendar();
SetDate(enDate);
}
private void SetDate(DateTime enDate)
{
year = _PDate.GetYear(enDate).ToString();
month = _PDate.GetMonth(enDate).ToString();
day = _PDate.GetDayOfMonth(enDate).ToString();
dayOfWeek = _PDate.GetDayOfWeek(enDate).ToString();
}
public string ToShortDateString(DateTime enDate)
{
SetDate(enDate);
return day + "/" + month + "/" + year;
}
public string ToShortDate_DayString(DateTime enDate)
{
SetDate(enDate);
return dayOfWeek + " " + day + "/" + month + "/" + year;
}
public string ToLongDateString(DateTime enDate)
{
SetDate(enDate);
return dayOfWeek + " " + " " + day + " " + _NameOFMonth + " " + year;
}

public string ToString(DateTime dateTime)
{
throw new NotImplementedException();
}
}
}
}

و این کد رو هم در master.cs نوشتم :


PersianDate myPC = new PersianDate();
LbLtarikh.Text = myPC.ToShortDateString(DateTime.Now);
ولی با ارورهای زیر مواجه میشم
Error 1 } expected

Error 2 Type or namespace definition, or end-of-file expected

همه جاشو چک کردم ولی درست نشد...به نظرتون اشکال از کجاست؟!!؟

hosna66
یک شنبه 22 شهریور 1388, 22:41 عصر
سلام
خطای اولت یعنی اینکه یجای برنامت نیاز به {(بسته شدن) داشته که نذاشتی. خوب روی اررورت کلیک کن ببین از کدوم خط برنامت ایراد میگیره اونجا یه آکولاد بسته بذار
ارور دومت شاید بخاطر اینه که تو عین کد منو تو کلاست کپی کردی.توی کد کلاس من اولش نوشته namespase bookshop که bookshop اسم برنامه من بوده و برنامه تو اونو نمیشناسه. بجای bookshop نام درست برنامه خودتو بنویس یا اینکه یه کلاس به برنامت add کن و کد کلاس persiandate رو توی اون کلاست که با namespace برنامت هست کپی کن
امیدوارم تونسته باشم کمک کرده باشم
موفق باشی

eL2rado
دوشنبه 23 شهریور 1388, 05:12 صبح
سلام
خطای اولت یعنی اینکه یجای برنامت نیاز به {(بسته شدن) داشته که نذاشتی. خوب روی اررورت کلیک کن ببین از کدوم خط برنامت ایراد میگیره اونجا یه آکولاد بسته بذار
ارور دومت شاید بخاطر اینه که تو عین کد منو تو کلاست کپی کردی.توی کد کلاس من اولش نوشته namespase bookshop که bookshop اسم برنامه من بوده و برنامه تو اونو نمیشناسه. بجای bookshop نام درست برنامه خودتو بنویس یا اینکه یه کلاس به برنامت add کن و کد کلاس persiandate رو توی اون کلاست که با namespace برنامت هست کپی کن
امیدوارم تونسته باشم کمک کرده باشم
موفق باشی
حل شد مرسی عزیز..مشکل چیز دیگه ای بود. البته namespace رو اصلا ننوشتم، موردی نداشت. تو کلاست مگه با VB بود؟!
خوب کدی که ازش نتیجه گرفتمو اینجا میزارم:
در PersianDate.cs


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public class PersianDate
{
System .Globalization .PersianCalendar _PDate;
public DateTime enDate{set {SetDate (value );}}
string year = "";
string _NameOFMonth = "";
string _Month = "";
string month
{
get
{
return _Month;
}
set
{
switch (value)
{
case"1":
{
_NameOFMonth = "فروردین";
break;
}
case"2":
{
_NameOFMonth = "اردیبهشت";
break;
}
case"3":
{
_NameOFMonth = "خرداد";
break;
}
case"4":
{
_NameOFMonth = "تیر";
break;
}
case"5":
{
_NameOFMonth = "مرداد";
break;
}
case"6":
{
_NameOFMonth = "شهریور";
break;
}
case"7":
{
_NameOFMonth = "مهر";
break;
}
case"8":
{
_NameOFMonth = "آبان";
break;
}
case"9":
{
_NameOFMonth = "آذر";
break;
}
case"10":
{
_NameOFMonth = "دی";
break;
}
case"11":
{
_NameOFMonth = "بهمن";
break;
}
case"12":
{
_NameOFMonth = "اسفند";
break;
}
}
_Month = value;
}
}
string _Day = "";
string dayName = "";
string day
{
get {
return _Day;
}
set
{
_Day = value;
}
}
string _DayOfWeek = "";
string dayOfWeek
{
get
{
return _DayOfWeek;
}
set
{
switch (value)
{
case"Saturday":
{
_DayOfWeek = "شنبه";
break;
}
case"Sunday":
{
_DayOfWeek = "یکشنبه";
break;
}
case"Monday":
{
_DayOfWeek = "دوشنبه";
break;
}
case"Tuesday":
{
_DayOfWeek = "«سه شنبه";
break;
}
case"Wednesday":
{
_DayOfWeek = "چهارشنبه";
break;
}
case"Thursday":
{
_DayOfWeek = "پنجشنبه";
break;
}
case"Friday":
{
_DayOfWeek = "جمعه";
break;
}
}
}
}

public PersianDate()
{
_PDate = new System.Globalization.PersianCalendar();
}
public PersianDate(DateTime enDate)
{
_PDate = new System.Globalization.PersianCalendar();
SetDate(enDate);
}
private void SetDate(DateTime enDate)
{
year = _PDate.GetYear(enDate).ToString();
month = _PDate.GetMonth(enDate).ToString();
day = _PDate.GetDayOfMonth(enDate).ToString();
dayOfWeek = _PDate.GetDayOfWeek(enDate).ToString();
}
public string ToShortDateString(DateTime enDate)
{
SetDate(enDate);
return day + "/" + month + "/" + year;
}
public string ToShortDate_DayString(DateTime enDate)
{
SetDate(enDate);
return dayOfWeek + " " + day + "/" + month + "/" + year;
}
public string ToLongDateString(DateTime enDate)
{
SetDate(enDate);
return dayOfWeek + " " + " " + day + " " + _NameOFMonth + " " + year;
}

public string ToString(DateTime dateTime)
{
throw new NotImplementedException();
}
}
و در web.master.cs :


PersianDate myPC = new PersianDate();
LbLtarikh.Text = myPC.ToLongDateString(DateTime.Now);

eL2rado
دوشنبه 23 شهریور 1388, 05:16 صبح
یه سوالم در مورد نمایش زمان داشتم...از این کد استفاده کردم


LbLTime.Text = DateTime.Now.ToString("HH:mm:ss");

منتها برای داینامیک شدنش از چه کدی و در کجا باید استفاده کنم؟؟ کلاس بسازم یا با جاوااسکریپت؟؟

liliyan87
دوشنبه 23 شهریور 1388, 17:31 عصر
منظورت از داینامیک شدن زمان چیه؟

eL2rado
دوشنبه 23 شهریور 1388, 21:16 عصر
منظورت از داینامیک شدن زمان چیه؟
منظورم از داینامیک، نشون دادن ثانیه هاست (همون گذاشتن interval)

liliyan87
سه شنبه 24 شهریور 1388, 00:01 صبح
منظورم از داینامیک، نشون دادن ثانیه هاست (همون گذاشتن interval)

مگه اینجوری ثانیه ها رو نشون نمیده؟

Label7.Text = DateTime.Now.ToLongTimeString() ;

princoo
سه شنبه 24 شهریور 1388, 09:01 صبح
به این تاپیک مراجعه کنید
http://www.barnamenevis.org/forum/showthread.php?p=805882