不能string类型隐式转换为System.date.time但在申报日期时间 [英] Cannot Implicitly convert type string to System.date.time but declare in datetime
问题描述
我是一个初学者到C#和放大器;写一些code.but得到的错误。
错误是:无法string类型隐式转换为System.date.time但我在这里看到我的字符串声明
I'm a begginer to C# & write some code.but getting error there. Error is : Cannot Implicitly convert type string to System.date.time but i see here i declare in string
public partial class HDate
{
private string StartYear;
public string StartYear1
{
get { return StartYear; }
set { StartYear = value; }
}
private string EndYear;
public string EndYear1
{
get { return EndYear; }
set { EndYear = value; }
}
private string Year;
public string Year1
{
get { return Year; }
set { Year = value; }
}
private DateTime StartDate;
public DateTime StartDate1
{
get { return StartDate; }
set { StartDate = value; }
}
private DateTime EndDate;
public DateTime EndDate1
{
get { return EndDate; }
set { EndDate = value; }
}
private string StartMonth;
public string StartMonth1
{
get { return StartMonth; }
set { StartMonth = value; }
}
private string EndMonth;
public string EndMonth1
{
get { return EndMonth; }
set { EndMonth = value; }
}
private DateTime StartDay;
public DateTime StartDay1
{
get { return StartDay; }
set { StartDay = value; }
}
private DateTime EndDay;
public DateTime EndDay1
{
get { return EndDay; }
set { EndDay = value; }
}
public HDate() { }
public HDate(){
DateTime today = DateTime.Now;
int year = today.Year;
int month = today.Month;
DateTime day = today;
DateTime StartDate = (StartYear + StartMonth + StartDay);
DateTime EndDate = (EndYear + EndMonth + EndDay);
if (month <= 6)
{
//string StartYear = Convert.ToString(year-1);
string StartYear = (year - 1).ToString();
string StartMonth = Convert.ToString(7);
string EndYear = Convert.ToString(year);
string EndMonth = Convert.ToString(6);
string EndDay = Convert.ToString(30);
}
else if(month >= 7)
{
string StartYear =Convert.ToString(year);
string StartMonth = Convert.ToString(7);
string StartDay = Convert.ToString(1);
string EndYear = Convert.ToString(year+1);
string EndMonth = Convert.ToString(6);
string EndDay = Convert.ToString(30);
}
return StartDate+';'+EndDate;
}
这些数据返回给另一个函数..
those data return it to another function..
推荐答案
您已经定义了 StartYear
私人字符串字段中,同样有StartMonth,在C#中你不能做到以下几点:
You have defined StartYear
as private string field, same with StartMonth, In C# you can't do the following:
DateTime StartDate = (StartYear + StartMonth + StartDay)
朝九特派是DateTime类型的,我不知道到底要怎么做,它看起来像你正试图建立从StartYear,StartMonth和StardDay日期。
StartDay is of type DateTime, I am not sure what exactly you want to do, it looks like you are trying to construct the Date from StartYear, StartMonth and StardDay.
如果你可以转换的起始日期,StartMonth和朝九特派到整数,那么你可以使用datetime Constructore,的日期时间(年,月,日);类似以下;
If you can convert the StartDate, StartMonth and StartDay to integer then you can use the DateTime Constructore , DateTime(Year,month,day); something like following;
int StartYear = 2012;
int StartMonth = 06;
int StartDay = 15;
DateTime dt = new DateTime(StartYear, StartMonth, StartDay);
这篇关于不能string类型隐式转换为System.date.time但在申报日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!