加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#:DateTime.DayOfWeek进行字符串比较

发布时间:2020-12-15 18:32:26 所属栏目:百科 来源:网络整理
导读:这段代码是我正在尝试做的简化版本: string day = Thursday;DateTime dt = DateTime.Now;if (day == dt.DayOfWeek){ // start the program} 我需要从数据库中读取星期值,将其分配给字符串,然后将字符串与dt.DayOfWeek进行比较以检查程序是否应该执行. 我的
这段代码是我正在尝试做的简化版本:
string day = Thursday;
DateTime dt = DateTime.Now;

if (day == dt.DayOfWeek)
{
     // start the program
}

我需要从数据库中读取星期值,将其分配给字符串,然后将字符串与dt.DayOfWeek进行比较以检查程序是否应该执行.

我的错误是:“运算符’==’不能应用于’string’和’System.DayOfWeek’类型的操作数

任何人都知道如何比较字符串与DateTime.DayOfWeek值?

解决方法

最简单的方法是将枚举转换为字符串:
if (day == dt.DayOfWeek.ToString())...

笔记:

>如果您可以将日期类型更改为DayOfWeek枚举,则可以避免字符串比较(及其相关的本地化/比较问题).
>如果你必须使用字符串,请确保判断大小写是否重要(即“星期四”应该等于DayOfWeek.Thursday)并使用相应的String.Equals方法.
>考虑使用Parse将字符串转换为枚举,如其他答案所示:((DayOfWeek)Enum.Parse(typeof(DayOfWeek),day)
>确保传入的字符串始终为英语 – 如果它可能是其他语言,您需要调查手动匹配值到CultureInfo.DateTimeFormat.DayNames中提供的值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读