这是我的输入:
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/