使用C#或MonoTouch显示月份中星期几的格式
本文关键字:格式 MonoTouch 显示 使用 | 更新日期: 2023-09-27 17:59:29
我正在尝试格式化MonoTouch项目中的日期,以显示字符串,如:
1st Saturday of the month, February 2, 2013
但我一直找不到用C#格式化它的方法。
我之前已经能够在目标C中使用格式化程序来做到这一点,比如:
[dateFormatter setDateFormat:@"F'st' EEEE 'of the month', MMMM d, yyyy"];
将"2st"替换为"2nd",将"3st"替换为"3rd",等等,但我一直找不到替换"F"字符的方法。
在C#中有什么方法可以做到这一点吗?
类似DateTime.Now.Day / 7 + 1
的东西会给你这个数字,然后你添加字符串
我不知道有任何标准格式说明符可以做到这一点,但计算起来应该相当简单:
DateTime date = DateTime.Now;
int day = date.Day;
int ordinal = (day / 7) + 1;
// if it's the first occurrence, ordinal will be 1, 2nd will be 2, etc
(我还没有通过编译器来检查,但我认为基本想法是可行的)
前面的两个答案很接近,但在同一位置都有错误。这是我用来获取一个月中一周中某一天发生的代码:
int dowin = (SelectedDate.Day - 1) / 7 + 1;
switch(dowin){
case 1:{
return "1st" + dateString;
}
case 2:{
return "2nd" + dateString;
}
case 3:{
return "3rd" + dateString;
}
case 4:{
return "4th" + dateString;
}
case 5:{
return "5th" + dateString;
}
}