我希望datetime.now以UK格式返回datetime对象。它是在我的本地计算机上完成的,但是当我将代码上传到服务器时,它以美国格式执行
答案 0 :(得分:2)
DateTime
没有与之关联的任何格式。格式化仅用于演示。你可以这样做:
string formattedDate = DateTime.Now.ToString(CultureInfo.CreateSpecificCulture("en-GB"));
或提供特定/自定义格式,如:
string formattedDate = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
答案 1 :(得分:0)
我希望datetime.now以UK格式返回datetime对象。
没有这样的概念,只有int
是“十六进制”或“十进制”的值。 DateTime
只是DateTime
- 您可以在将其转换为string
时指定格式。理解内在值与它转换为文本后的外观之间的差异非常重要 - 很少有类型知道在转换自身时要使用的自定义可修改格式 - 它可以在外部提供(至于{{1 },数字等)或简单地修复。
在转换之前开始硬编码英国格式,我强烈建议你考虑完全你在做什么:
答案 2 :(得分:0)
您可以使用ToString方法的重载:ToString(" dd / MM / yyyy"),或:ToString(" yy / MMM / dd")等等
在此处详细了解:https://msdn.microsoft.com/en-us/library/zdtaw1bw%28v=vs.110%29.aspx
另外听起来你可能想在web.config中配置你的(UI-)文化?无论您的美国/日本/欧洲服务器文化的文化如何,它都将采用相同的格式。
此处有关于此的更多信息:https://msdn.microsoft.com/en-us/library/bz9tc508%28v=vs.140%29.aspx
答案 3 :(得分:0)
LogDate = DateTime.UtcNow.AddHours(1);