C#,如何让时钟在额外的时间内工作?
问题描述:
使用Visual Studio 2008(C#)我必须使用当前时区小时制作一个工作时钟(数字),并使用不同时区(如纽约等)制作一些工作时钟(数字)。C#,如何让时钟在额外的时间内工作?
里面的表格2个标签(用于时钟)和定时器,定时器里面我把这个代码:
timer1.Interval = 1000;
label1.Text = DateTime.Now.ToLongTimeString();
DateTime myDateTime = DateTime.Now;
TimeSpan myTimeSpan = new TimeSpan(2, 0, 0);
DateTime myDateTime8 = myDateTime + myTimeSpan;
label2.Text = ("" + myDateTime8);
与时间跨度的一部分。然而不2小时增加了时钟,而不只是实际时钟我也得到它的日期,例如:
“17-05-2011 22:38:00”
我需要知道如何添加/减去小时,只显示时钟。
答
而不是增加一个时间跨度的,只需调用AddHours方法:
myDateTime.AddHours(2).ToLongTimeString();
答
myDateTime.ToShortTimeString()将返回唯一的一次
或提到您可以使用ToLongTimeString()
,我想更适合你的需求Tejs
。
对于加或减小时,你可以用dateTime.AddHours(even hours in negative)
或减去你也可以使用dateTime.Subtract(time to subtract)
答
- 对于您所在的时区,请使用与this MSDN article中建议的方法类似的方法。值得注意的是:
- 使用
ConvertTimeToUtc
获得UTC时间,然后再执行任何运算。 - 执行所需的算术运算。
- 使用
TimeZoneInfo.ConvertTime
转换回当地时间。
- 使用
- 要获取
DateTime
的时间部分,请使用DateTime.ToShortTimeString()
。请注意,这是文化意识,所以如果你想要一个固定的格式,请考虑使用DateTime.ToString()
来指定一种格式。
太棒了! 非常简单但完美的工作,非常感谢您的快速和准确的响应;) – Madcowe 2011-05-17 20:31:44