以下代码Console.WriteLine("{0:%h}hours{0:%m}minutes",newTimeSpan(TimeSpan.TicksPerDay));产生这个输出:0hours0minutes我想要的是这个输出:24hours0minutes我在这个格式字符串中遗漏了什么?附:我知道我可以手动将TimeSpan分解为天和小时,然后将两者相乘,但宁愿使用自定义格式字符串,因为这些时间跨度显示在silverlight数据网格中,人们希望看到的是horus,而不是天。 最佳答案 根据MSDN,使用%h会告诉你Thenum
我正在寻找.net3.5中的解决方案,我编写了以下工作解决方案:privatestringFormatTimeSpan(TimeSpantime){returnString.Format("{0}{1:00}:{2:00}",time但我的问题是:有没有更好的方法?也许在我不需要辅助函数的地方更短。 最佳答案 略短,使用CustomTimeSpanFormatStrings:privatestringFormatTimeSpan(TimeSpantime){return((time 关于
输入此问题的标题将我带到thisquestion.我正在寻找同样的东西,但如果你明白我的意思,可能不是静态格式的东西?我正在编写一个快速程序,它将获取两个DateTime对象的TimeSpan持续时间并将它们输出以打印到纸上。首选的格式是:XX天,YY小时,ZZ分钟(秒无关;天也是如此,因为我不希望时间跨度包含超过几个小时)。说出下面的代码(例如):DateTimestart=DateTime.Now;DateTimeend=DateTime.Now.AddMinutes(135);TimeSpanduration=(end-start);//outputdurationasXXhou
我有一个具有2个日期属性的类:FirstDay和LastDay。LastDay可以为空。我想生成"xyear(s)yday(s)"格式的字符串。如果总年份小于1,我想省略年份部分。如果总天数小于1,我想省略天部分。如果年或日为0,则应分别表示“日/年”,而不是“日/年”。示例:2.2年: “2年73天”1.002738年: “1年1天”0.2年: “73天”2年: “2年”我有什么作品,但是很长:privateconstdecimalDaysInAYear=365.242M;publicstringLen
我正在用.Net中的时间跨度做一些数学运算,有时总和会导致时间跨度为负。当我显示结果时,我无法将其格式化为包含否定指示符。DimtsasNewTimespan(-10,0,0)ts.ToString()这将显示“-10:00:00”,这很好,但我不想显示秒,所以试试这个。ts.ToString("hh\:mm")这将返回“10:00”并从前面删除了“-”,这是问题的症结所在。我目前的解决方案是这样的:If(ts但我希望只使用格式字符串来完成同样的任务。 最佳答案 我在TimeSpan.ToString(...)上使用了.NetRef
假设我将一些秒转换为TimeSpan对象,如下所示:Dimsec=1254234568DimtAsTimeSpan=TimeSpan.FromSeconds(sec)如何将TimeSpan对象格式化为如下格式:>105hr56mn47sec有内置函数还是需要写自定义函数? 最佳答案 嗯,最简单的做法是自己格式化,例如returnstring.Format("{0}hr{1}mn{2}sec",(int)span.TotalHours,span.Minutes,span.Seconds);在VB中:PublicSharedFuncti
我有一个$i变量,它在shell脚本中是秒,我正在尝试将其转换为24HOURHH:MM:SS。这在shell中可能吗? 最佳答案 这是一种有趣的hacky方法,可以完全满足您的需求=)date-u-d@${i}+"%T"说明:date实用程序允许您从字符串中指定时间,以1970-01-0100:00:00UTC以来的秒数为单位,并以您指定的任何格式输出。-u选项用于显示UTC时间,因此它不考虑时区偏移(因为1970年的开始时间是UTC)以下部分是GNUdate特定的(Linux):-d部分告诉date接受来自字符串的时间信息,而不是
我有一个$i变量,它在shell脚本中是秒,我正在尝试将其转换为24HOURHH:MM:SS。这在shell中可能吗? 最佳答案 这是一种有趣的hacky方法,可以完全满足您的需求=)date-u-d@${i}+"%T"说明:date实用程序允许您从字符串中指定时间,以1970-01-0100:00:00UTC以来的秒数为单位,并以您指定的任何格式输出。-u选项用于显示UTC时间,因此它不考虑时区偏移(因为1970年的开始时间是UTC)以下部分是GNUdate特定的(Linux):-d部分告诉date接受来自字符串的时间信息,而不是
我需要显示耗时跨度的最简单版本。有什么准备好的事情吗?sample:HH:mm:ss10:43:27>10h43m27s00:04:12>4m12s00:00:07>7s我想我需要一个耗时的格式提供程序。 最佳答案 假设你有TimeSpanobjectL(newTimeSpan(0,0,30,21,3)).ToString(@"d\d\hh\hmm\mss\s").TrimStart('','d','h','m','s','0');示例代码输出30m21s第一行只是创建了一个TimeSpan对象以作为示例,.ToString将其格式
我需要显示耗时跨度的最简单版本。有什么准备好的事情吗?sample:HH:mm:ss10:43:27>10h43m27s00:04:12>4m12s00:00:07>7s我想我需要一个耗时的格式提供程序。 最佳答案 假设你有TimeSpanobjectL(newTimeSpan(0,0,30,21,3)).ToString(@"d\d\hh\hmm\mss\s").TrimStart('','d','h','m','s','0');示例代码输出30m21s第一行只是创建了一个TimeSpan对象以作为示例,.ToString将其格式