草庐IT

TimeSpan

全部标签

c# - 如何将 TimeSpan 转换为 24 小时和分钟的 String?

我使用此代码将Timespan转换为String(例如:14:53):myTimeSpan.ToString("hh:mm");但是出现这个错误:Inputstringwasnotinacorrectformat执行此操作的正确方法是什么? 最佳答案 myTimeSpan.ToString(@"hh\:mm")CustomTimeSpanFormatStringsThecustomTimeSpanformatspecifiersdonotincludeplaceholderseparatorsymbols,suchasthesymb

c# - TimeSpan.TryParseExact 不工作

我正在尝试从字符串中检索时间跨度,但TryParseExact返回false(失败)。我看不出我做错了什么,你能帮忙吗?我在代码中尝试了我的行的2个版本,都不起作用。TimeSpan.TryParseExact("04:00:01","HH:mm:ss",CultureInfo.CurrentCulture,outaTime)和TimeSpan.TryParseExact("04:00:01","HH:mm:ss",null,outaTime)编辑:这里的两个响应都是正确的,我的自定义时间跨度格式有误-我犯的错误是假设DateTime的自定义格式适用于TimeSpans,但事实并非如此

c# - 将 HH.mm 格式的字符串解析为 TimeSpan

我正在使用.NETFrameworkv3.5,我需要将表示时间跨度的字符串解析为TimeSpan对象。问题是使用点分隔符而不是冒号...例如13.00,或22.30所以我想知道是否必须将.替换为:或者有更简洁的方法来获取它。 最佳答案 解析DateTime并使用它的TimeOfDay属性,这是一个TimeSpan结构:strings="17.34";varts=DateTime.ParseExact(s,"HH.mm",CultureInfo.InvariantCulture).TimeOfDay;

c# - TimeSpan.ToString ("hh:mm") 错误

这个问题在这里已经有了答案:WhydoesDateTime.Now.TimeOfDay.ToString("HH:mm:ss.ffffff")throwFormatException?(2个答案)关闭7年前。为什么我想获取具有自定义格式的TimeSpan的字符串时出错。DateTime.Now.TimeOfDay.ToString("hh:mm");//Error:Inputstringwasnotinacorrectformat.

c# - 如何将小时数大于 24 的字符串解析为 TimeSpan?

如何在C#中将30:15之类的字符串解析为TimeSpan?30:15表示30小时15分钟。stringspan="30:15";TimeSpants=TimeSpan.FromHours(Convert.ToDouble(span.Split(':')[0])).Add(TimeSpan.FromMinutes(Convert.ToDouble((span.Split(':')[1]))));这看起来不太优雅。 最佳答案 如果您确定格式将始终为“HH:mm”,那么请尝试这样的操作:stringspan="35:15";TimeSp

c# - TimeSpan FromMilliseconds 奇怪的实现?

我最近在.NETTimeSpan实现中遇到了一些奇怪的行为。TimeSpantest=TimeSpan.FromMilliseconds(0.5);doublems=test.TotalMilliseconds;//Returns0FromMilliseconds采用double作为参数。但是,该值似乎在内部四舍五入。如果我用5000个滴答(.5毫秒)实例化一个新的TimeSpan,则TotalMilliseconds的值是正确的。查看反射器中的TimeSpan实现表明输入实际上被转换为long。为什么Microsoft将FromMilliseconds方法设计为采用double参数而

c# - 将字符串解析为 TimeSpan

我有一些xxh:yym格式的字符串,其中xx是小时,yy是分钟,例如“05h:30m”。将这种类型的字符串转换为TimeSpan的优雅方法是什么? 最佳答案 这似乎可行,尽管有点老套:TimeSpanspan;if(TimeSpan.TryParse("05h:30m".Replace("m","").Replace("h",""),outspan))MessageBox.Show(span.ToString()); 关于c#-将字符串解析为TimeSpan,我们在StackOverfl

c# - 在 .NET 中乘以 TimeSpan

如何在C#中乘以TimeSpan对象?假设变量duration是TimeSpan,我想,例如duration*5但这给了我一个错误“operator*cannotbeappliedtotypesTimeSpanandint”。这是我目前的解决方法duration+duration+duration+duration+duration但这不会扩展到非整数倍数,例如。持续时间*3.5 最佳答案 FromthisarticleTimeSpanduration=TimeSpan.FromMinutes(1);duration=TimeSpa

C# 4.0 : Can I use a TimeSpan as an optional parameter with a default value?

这两个都会产生一个错误,指出它们必须是编译时常量:voidFoo(TimeSpanspan=TimeSpan.FromSeconds(2.0))voidFoo(TimeSpanspan=newTimeSpan(2000))首先,有人能解释一下为什么这些值不能在编译时确定吗?有没有办法为可选的TimeSpan对象指定默认值? 最佳答案 您可以通过更改签名轻松解决此问题。voidFoo(TimeSpan?span=null){if(span==null){span=TimeSpan.FromSeconds(2);}...}我应该详细说明

Java 等价于 C# 的 TimeSpan

Java是否有表示一段时间的数据类型,例如34秒、5分钟等。我见过一些TimeSpan的实现,涵盖了从12月10日到12月11日这样的时间段。我需要的是C#中的TimeSpan之类的东西。 最佳答案 目前不是JDK的一部分,但将被纳入JDK7-试试JodaTime 关于Java等价于C#的TimeSpan,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/439903/