网上太多的范例为了获取中文的星期几,写了大量的语句来转换对应关系,太过复杂。今天刚好需将星期几以十六进制的字符串方式发送给下位机固件,顺便将测试OK的代码记录一下,方便需要程序员参考。
1.获取英文描述的星期几,如今天 “Tuesday”
var wk = DateTime.Now.DayOfWeek;
Console.WriteLine(wk); //Tuesday
2.获取中文星期几,直接使用zh-CN 中国的文化,显示 “星期二”
var cnWk = System.DateTime.Today.ToString("dddd", new System.Globalization.CultureInfo("zh-CN"));
Console.WriteLine(cnWk);//星期二
3. 下位机需要以十六进制的字符串发送,转换为 ‘02’
int wkd = Convert.ToInt32(DateTime.Now.DayOfWeek);
Console.WriteLine(wkd); //2
Console.WriteLine(wkd.ToString().PadLeft(2,'0'));//02
我觉得上面3中方式基本满足了全部的需求。