[英]Format to show day of week in month using C# or MonoTouch
我正在尝试在MonoTouch项目中格式化日期以显示类似以下的字符串:
1st Saturday of the month, February 2, 2013
但是我一直找不到用C#格式化它的方法。
我以前可以通过使用像这样的格式化程序在Objective 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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.