如果我的应用程序是阿拉伯文化,那么 DateTime.UtcNow
会为我们提供阿拉伯语日期时间,例如 "13/05/1435 09:40:45 õ" 但我需要在 en-US 中使用我的用户所使用的任何文化。
当我强制将此日期转换为我们的文化时,它给我一个错误。即使在这样的阿拉伯文化中,获取 en-US 日期时间的更好方法是什么“14/03/2014 09:40:45 AM”。
var us = DateTime.Now.ToString("dd/MM/yy HH:mm:ss tt",
new System.Globalization.CultureInfo("en-US"));
string st = us.ToString();
DateTime ddt = Convert.ToDateTime(st,
new System.Globalization.CultureInfo("en-US"));
在 en-US 中再次从 st 转换为 DateTime 时 当应用程序处于阿拉伯文化时,它会抛出错误。
@lastr2d2 先生
提前致谢。
最佳答案
这是你排除的吗?
var ar = DateTime.Now.ToString("dd/MM/yy HH:mm:ss tt",
new System.Globalization.CultureInfo("ar-AE"));
// 14/03/14 06:14:34 ص
var us = DateTime.Now.ToString("dd/MM/yy HH:mm:ss tt",
new System.Globalization.CultureInfo("en-US"));
// 14/03/14 06:14:44 AM
--编辑
你可以通过 DateTime.ParseExact 获取日期时间实例:
var datetime = DateTime.ParseExact(us,"dd/MM/yy HH:mm:ss tt",
new System.Globalization.CultureInfo("en-US"));
关于c# - 获取独立于我当前 UI 文化的特定文化的 Utc 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22397234/