S不是一个标准的DateTime,怎么转换?不知道lz想要的是不是这样一个类型:
[Flags]
enum Dates
{
EveryDay = -1,
EveryMonday = 1,
EveryTuesday = 2,
EveryWednesday = 4,
EveryThursday = 8,
EveryFriday = 16,
EverySaturday = 32,
EverySunday = 64
}
enum Month
{
January = 1
// ...
}
struct DateTimeEx
{
public int Year { get; set; }
public Month Month { get; set; }
public Dates Dates { get; set; }
public override string ToString()
{
return Year.ToString() + " " + Month.ToString() + " " + Dates.ToString();
}
public List<DateTime> ToDateTimes()
{
List<DateTime> dates = new List<DateTime>();
switch (Dates)
{
case Dates.EveryDay:
// 把当月所有日期添加到dates
break;
case Dates.EveryFriday | Dates.EveryTuesday:
// 把当月所有周五和周二添加到dates
break;
// 列举所有Dates的组合
}
return dates;
}
}
什么意思?把s转化为datetime?
string S=” 五月天天,2月每周三、五,3月每周四”;这个应该是反映在html页面上的吧,建议楼主看看后台的数据,比如五月可能对应数字5。
如果一定要解析,那就得语义分析了,首先要定义好类似五月、周三这样的关键字,然后对对应一一解析为对应的日期即可。
要有固定的格式才能分析阿,如果一点规律都没有恐怕不好转换把