一. 我的日志
在学习 ASP.NET Razor 语法时,想利用它在我的网站主页上加上一句问候语“ 您好!今天是:星期X ”。但是Razor只能直接获得英文日期,要转换成中文的。因为刚开始学习,不是那么熟悉,过程也遇到了一些困难。整理如下。
二. 整体思路
- 用 DateTime.Now.DayOfWeek 可以获取到当天是星期几,赋给变量EngWeek。
- Razor语法的变量只有var一种类型,但是上述的EngWeek并不能与String类型的变量直接比较。比如 if ( EngWeek == “Monday” ) 就会报错。
- 所以只能先将EngWeek转换成字符串类型,再做比较。这就要用到ToString()方法了。变量 str 就是转换后的结果。
- 创建ChiWeek变量时,不能只定义不赋值,必须先让它等于一个空字符串,否则和“Monday"比较时还是会报错,因为不知道ChiWeek是什么类型的。
三. 我的代码
@{
var EngWeek = DateTime.Now.DayOfWeek;
var ChiWeek = "";
var str = EngWeek.ToString();
if (str == "Monday") { ChiWeek = "星期一"; }
else if (str == "Tuesday") { ChiWeek = "星期二"; }
else if (str == "Wednesday") { ChiWeek = "星期三"; }
else if (str == "Thursday") { ChiWeek = "星期四"; }
else if (str == "Friday") { ChiWeek = "星期五"; }
else if (str == "Saturday") { ChiWeek = "星期六"; }
else if (str == "Sunday") { ChiWeek = "星期日"; }
}
<p class="greeting">您好!今天是:@ChiWeek </p>