在我的网格输出中,我计算a TimeSpan
并采用它TotalHours
.例如
(Eval("WorkedHours") - Eval("BadgedHours")).TotalHours
Run Code Online (Sandbox Code Playgroud)
目标是显示TotalHours
as 39:44
,所以我需要将值转换7.5
为07:30
.这没问题......除非它是否定的!
我可以创建一个TimeSpan
从对象Hours
与
TimeSpan.FromHours( (Eval("WorkedHours") - Eval("BadgedHours")).TotalHours)
Run Code Online (Sandbox Code Playgroud)
如果它是否定的,我无法将其转换DateTime
为使用该.ToString("HH:mm")
方法,并且该TimeSpan
对象不支持格式字符串.
我有一个$ i的变量,它是一个shell脚本中的秒,我试图将它转换为24 HOUR HH:MM:SS.壳中有可能吗?
我想知道是否有办法将24小时时间格式的字符串转换为TimeSpan.
现在我有一个"旧时尚风格":
string stringTime = "07:35";
string[] values = stringTime.Split(':');
TimeSpan ts = new TimeSpan(values[0], values[1], 0);
Run Code Online (Sandbox Code Playgroud) 我有一些xxh:yym格式的字符串,其中xx是小时,yy是分钟,如"05h:30m".将此类型的字符串转换为TimeSpan的优雅方法是什么?
如何在C#中将30:15的字符串解析为TimeSpan?30:15表示30小时15分钟.
string span = "30:15";
TimeSpan ts = TimeSpan.FromHours(
Convert.ToDouble(span.Split(':')[0])).
Add(TimeSpan.FromMinutes(
Convert.ToDouble((span.Split(':')[1]))));
Run Code Online (Sandbox Code Playgroud)
这似乎并不太优雅.
我最近在.net timespan实现中遇到了一些奇怪的行为.
TimeSpan test = TimeSpan.FromMilliseconds(0.5);
double ms = test.TotalMilliseconds; // Returns 0
Run Code Online (Sandbox Code Playgroud)
FromMilliseconds采用double作为参数.但是,似乎内部的值是四舍五入的.
如果我使用5000个滴答(.5毫秒)实例化新的时间跨度,则TotalMilliseconds的值是正确的.
查看反射器中的TimeSpan实现会发现输入实际上已经转换为long.
为什么Microsoft设计FromMilliseconds方法采用double参数而不是long(因为在实现时,double值是无用的)?
为什么我想要获取TimeSpan
自定义格式的字符串时出错.
DateTime.Now.TimeOfDay.ToString("hh:mm");
// Error: Input string was not in a correct format.
Run Code Online (Sandbox Code Playgroud) 我正在尝试整理一个可以帮助我制定工作计划的工具.解决以下问题的最简单方法是什么?
上午8:00 + 5小时=下午1:00
和
下午5:00 - 2小时=下午3:00
和
下午5:30 - :45 = 4:45
等等.
我想将timepan diff值转换为正值
我的代码在这里:
TimeSpan lateaftertime = new TimeSpan();
lateaftertime = lateafter - Convert.ToDateTime(intime);
Run Code Online (Sandbox Code Playgroud)
我希望得到的结果总是积极的..请帮帮我..