c# - 是否有一种文化安全的方法来获取带前导零的 ToShortDateString() 和 To

我知道我可以使用格式字符串,但我不想丢失日期/时间格式的文化特定表示。例如

2011 年 5 月 4 日 |下午 2:06 | ... 应该是 05/04/2011 |下午02:06 | ...

但是当我将其更改为不同的文化时,我希望它是

04.05.2011 | 14:06 | ...

不改变格式字符串。这可能吗?

最佳答案

您可以使用 DateTimeFormatInfo.CurrentInfo ShortDatePatternShortTimePattern做翻译:

// Change the culture to something different
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-AT");
DateTime test_datetime = new DateTime(2008, 10, 2, 3, 22, 12);
string s_date = test_datetime.ToString(DateTimeFormatInfo.CurrentInfo);

// For specifically the short date and time
string s_date1 = 
   test_datetime.ToString(DateTimeFormatInfo.CurrentInfo.ShortDatePattern);
string s_time1 = 
   test_datetime.ToString(DateTimeFormatInfo.CurrentInfo.ShortTimePattern);

// Results
// s_date1 == 02.10.2008
// s_time1 == 03:22

关于c# - 是否有一种文化安全的方法来获取带前导零的 ToShortDateString() 和 ToShortTimeString()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6654695/

相关文章:

java - Java的JSON字符串整洁/格式化程序

asp.net-mvc - Asp.Net MVC 2 Html.TextBoxFor 为模型的 D

html - 修复 Visual Studio 中 aspx 文件的格式?

database - 在保持抽象的同时将格式化文本存储在数据库中

formatting - 代码格式化 : is lining up similar lines ok

ruby-on-rails - Ruby on Rails - 如何以我需要的格式显示日期?从 YY

java - Eclipse 的 Java 编辑器可以做软换行吗?

c# - 如何显示特定于文化的本地数字而不是阿拉伯数字?

java - 如何将手机号码拆分为国家代码、地区代码和本地号码?

nginx - NGINX 配置文件是否有格式化程序/美化器?