当我有一个500毫秒或更长的DateTime值时,我希望ToString方法舍入到最接近的秒(如果当前文化显示秒,这与en-US一样)。但是,它似乎截断了毫秒值
例如,下面的代码输出:10/1/2010 8:22:33 AM,当我希望它输出时:10/1/2010 8:22:34 AM。
var d = new DateTime(2010, 10, 1, 8, 22, 33, 777);
string date = d.ToString(new CultureInfo("en-US"));
MessageBox.Show(date);
注意我知道我可以为ToString提供自定义格式字符串,但我不想这样做,因为我实际上是将当前文化传递给ToString而不是总是传递en-US
我正在尝试将值与现有系统(Excel)进行协调,该系统会对值进行舍入。在具有美国语言环境的计算机上,如果您在具有常规数字格式的单元格中粘贴2010/10/1 8:22:33.777,然后单击该单元格,则Excel中的公式栏将显示10/1/2010 8:22:上午34点