在我的应用程序中,我使用了一种友好的短日期格式。对于en-GB语言环境,这是MMM yyyy',即2014年6月1日。
如何生成使用缩写月份格式的语言环境格式,因此对任何语言环境都很友好(由CurrentCulture设置)?
我想到这样的事情:
System.Globalization.CultureInfo cI = System.Globalization.CultureInfo.CurrentCulture;
string niceFormat = cI.DateTimeFormat.ShortDatePattern.Replace("MM","MMM").Replace("dd","d").Replace(cI.DateTimeFormat.DateSeparator," ");
但是 - 并非每个地区都有' MM'有些人使用' M'在ShortDatePattern中。而且我不认为我可以可靠地用" &#34 ;.或者我可以吗?
有什么建议吗?也许最好从LongDateTime格式开始并将其剥离下来?
答案 0 :(得分:0)
像你一样采取文化
var culture = System.Globalization.CultureInfo.CurrentCulture;
然后使用Custom Date Format和this DateTime.ToString
重载来格式化
date.ToString("d MMMM yyyy", culture);
Proof(但它会爆炸,因为小提琴的记忆力有限)。
如果您希望显示的日期是用户友好的(订单和分隔符),那么您宁愿避免使用除ShortDatePattern
提供之外的任何其他内容。您可以尝试将"M"
或"MM"
替换为"MMMM"
,但是谁告诉您它仍然用户友好呢?
也许你可以使用MonthDayPattern
作为John Skeet suggested(但仍然不推荐),只是以某种方式表示年份(在那之后的括号中)。
答案 1 :(得分:0)
如果要包括星期几的缩写,请从长格式开始,然后将其星期几和月份的占位符转换为短格式:
SELECT Players.userName AS Player,
Teams.TeamName AS [Team Name]
FROM Teams
INNER JOIN Players
ON Team.ID = Players.[TeamName_]