c# - 为什么我的输出从军用时间变为标准时间?

标签 c#

这是我的输入:

sw.WriteLine("{0:MM/dd/yyyy HH:mm:ss tt} ", DateTime.Now + Convert.ToString(newurls[counter]));

我得到了这个输出:

4/4/2016 2:46:57 PM14751

然后当我像这样翻转两个输入时:

sw.WriteLine(Convert.ToString(newurls[counter])  +  "{0:MM/dd/yyyy HH:mm:ss tt} ", DateTime.Now);

我得到这个输出:

1459104/04/2016 14:48:02 PM

注意:newurls[counter] 一直在变化。

回到正点,我希望 DateTime 现在处于军事时间,但在 newurls[counter 之前。我的意思是,我希望输出是这样的:

04/04/2016 14:48:02 PM14591

为什么时代在军用和标准之间来回切换?

最佳答案

sw.WriteLine("{0:MM/dd/yyyy HH:mm:ss tt} ", DateTime.Now + Convert.ToString(newurls[counter]));

应该是

sw.WriteLine("{0:MM/dd/yyyy HH:mm:ss tt} {1}", DateTime.Now, Convert.ToString(newurls[counter]));

首先,您将日期时间转换为字符串,然后将其添加到 Convert.ToString 结果中。在第二种情况下,您首先使用格式化程序转换它,然后连接字符串。

在我上面的更改中,我为字符串中的第二个参数添加了一个占位符作为 {1},这就是 Convert.ToString(newurls[counter]) 将被放置。有关详细信息,请参阅 Composite Formatting .

关于c# - 为什么我的输出从军用时间变为标准时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36410560/

相关文章:

c# - 是否可以在不尝试对基类类型的每个派生类类型进行强制转换的情况下再次向下转换对象?

c# - 使用 Fluent api 进行 3 种方式的多对多

c# - Windows 服务和更新 C# 控制台应用程序

c# - Json.net 仅序列化数组的一部分

c# - 如何为.NET Core项目指定程序集版本?

c# - Mongodb C# 对嵌套数组使用 skip-limit

C# 引用计数

c# - 如果有方法/扩展方法,则调用它

c# - 即使对于其设计目的而言,C# 终结器机制是否也存在根本缺陷?

c# - Web.Config 键值