首页 新闻 搜索 专区 学院

C# 技术难题

0
悬赏园豆:50 [已解决问题] 解决于 2010-03-31 16:50

string S=” 五月天天,2月每周三、五,3月每周四”;

将字符串S转化为日期格式,超过当天的不需要出现

挑战自我的主页 挑战自我 | 初学一级 | 园豆:10
提问于:2010-03-23 08:37
< >
分享
最佳答案
0

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;
}
}

 

 

收获园豆:50
麒麟.NET | 老鸟四级 |园豆:3614 | 2010-03-23 13:16
其他回答(3)
0

什么意思?把s转化为datetime?

邢少 | 园豆:10926 (专家六级) | 2010-03-23 10:49
0

string S=” 五月天天,2月每周三、五,3月每周四”;这个应该是反映在html页面上的吧,建议楼主看看后台的数据,比如五月可能对应数字5。

如果一定要解析,那就得语义分析了,首先要定义好类似五月、周三这样的关键字,然后对对应一一解析为对应的日期即可。

风影极光 | 园豆:1573 (小虾三级) | 2010-03-23 11:38
0

要有固定的格式才能分析阿,如果一点规律都没有恐怕不好转换把

生鱼片 | 园豆:5757 (大侠五级) | 2010-03-23 11:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册