我想要的只是一个方法,只要返回一小时(所以上面的例子中的“下午5点”和“17”)适用于每一种文化.什么是最好的/最干净的方式来做到这一点?
谢谢!
解决方法// displays "15" because my current culture is en-GBConsole.Writeline(DateTime.Now.ToHourString());// displays "3 pm"Console.Writeline(DateTime.Now.ToHourString(new CultureInfo("en-US")));// displays "15"Console.Writeline(DateTime.Now.ToHourString(new CultureInfo("de-DE")));// ...public static class DateTimeExtensions{ public static string ToHourString(this DateTime dt) { return dt.ToHourString(null); } public static string ToHourString(this DateTime dt,IFormatProvIDer provIDer) { DateTimeFormatInfo dtfi = DateTimeFormatInfo.GetInstance(provIDer); string format = Regex.Replace(dtfi.ShortTimePattern,@"[^hHt\s]",""); format = Regex.Replace(format,@"\s+"," ").Trim(); if (format.Length == 0) return ""; if (format.Length == 1) format = '%' + format; return dt.ToString(format,dtfi); }}总结
以上是内存溢出为你收集整理的c# – 使用当前文化定义的12或24小时格式,从DateTime获取一小时全部内容,希望文章能够帮你解决c# – 使用当前文化定义的12或24小时格式,从DateTime获取一小时所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)