使用Visual Studio 2008(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”
我需要知道如何添加/减去小时数,只显示时钟。
答案 0 :(得分:2)
不要添加时间跨度,只需调用AddHours方法:
myDateTime.AddHours(2).ToLongTimeString();
答案 1 :(得分:1)
myDateTime.ToShortTimeString()只返回时间
或Tejs
提到您可以使用我认为更符合您要求的ToLongTimeString()
。
要添加或减去小时数,您可以使用dateTime.AddHours(even hours in negative)
或减去您还可以使用dateTime.Subtract(time to subtract)
答案 2 :(得分:0)
使用timepan方法的.ToString()方法,您可以以任何所需的格式输出日期。见http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
答案 3 :(得分:0)
ConvertTimeToUtc
获取UTC时间。TimeZoneInfo.ConvertTime
转换回本地时间。DateTime
的时间部分,请使用DateTime.ToShortTimeString()
。请注意,这具有文化感知功能,因此如果您需要固定格式,请考虑使用DateTime.ToString()
指定格式。