|
10
|
| Richard Slater · 技术社区 · 16 年前 |
|
|
1
5
第二个问题的答案是
或
实际上,最好使用接受CultureInfo的显式方法。在默认情况下,.NET如何选择要使用的内容没有一致性:currentCulture、currentUICulture或invarianatCulture。 使答案完整。此外,我还将概述不同文化之间的差异。 因此,当前区域性是“控制面板->时钟、语言和区域->区域和语言->格式选项卡”。这是您希望计算的区域性。例如,您可以在美国进行会计核算,因此您需要在美国进行配置。 当前的uiculture是“地区和语言-显示语言”,意味着当您从乌克兰移民时,您希望您的应用程序在UA中本地化(但所有计算仍在美国)。 而不变文化就是所谓的文化不可知论的地方。您应该使用它来存储信息等等。事实上,这就是我们。 注意:每个设置在Windows中的位置可能是错误的。但你可能有个主意。 |
|
|
2
2
我很确定,在datetime.toshortTimeString()或datetime.toString(“t”)中没有使用短时间格式字符串这一事实是一个错误,因为它是在.NET Framework 4.0中修复的。 |
|
|
3
1
回答我的每个问题: 1)我对.NET和Windows格式有什么误解? 简言之,“区域和语言”设置中的“短时间”设置与.NET的shorttimepattern属性之间没有链接。但是,long time模式属性由“long time”设置决定。 我将上面的方法替换为两个格式化行:
以下是输出: Culture: en-GB, 6AM: 06:00:00, 6PM: 18:00:00 // HH:mm:ss Culture: en-GB, 6AM: 06:00:00 AM, 6PM: 06:00:00 PM //hh:mm:ss tt 底部 this article 向我解释了这个问题。 2)根据操作系统设置创建短格式时间字符串(hh:mm或hh:mm tt)的最佳解决方案是什么? 我不知道最佳解决方案,但我创建了以下函数,将longtimeformat转换为shorttimeformat,从而允许应用程序在更改“long time”(长时间)时遵循用户选项(尽管它不会跟踪“short time”(短时间)设置)。
进行上述更改后的输出: Culture: en-GB, 6AM: 06:00, 6PM: 18:00 Culture: en-GB, 6AM: 06:00 AM, 6PM: 06:00 PM p/invoke选项是使用 GetTimeFormat 使用上面的datetime.toString(格式)传递时间秒。我还没有测试这个,因为我希望避免使用p/invoke。 |
|
ttruhcheva · 如何在Power BI中创建灵活的数据标签? 3 年前 |
|
|
M.Walko · 在降价中更改ATX标题的字体大小 8 年前 |
|
|
Adam Waring · Bootstrap 4容器的文本包装 8 年前 |
|
|
Jamie Wilson · 打印文本文件(Python) 8 年前 |
|
|
new2Ubuntu · 在Python3中打印格式化的浮点列表 8 年前 |
|
|
Reilly Ford · 使用导航栏+页面选项卡格式化问题 8 年前 |