jjzjj

TimeSpan

全部标签

c# - 如何将 TimeSpan 格式化为几小时而不是几天

以下代码Console.WriteLine("{0:%h}hours{0:%m}minutes",newTimeSpan(TimeSpan.TicksPerDay));产生这个输出:0hours0minutes我想要的是这个输出:24hours0minutes我在这个格式字符串中遗漏了什么?附:我知道我可以手动将TimeSpan分解为天和小时,然后将两者相乘,但宁愿使用自定义格式字符串,因为这些时间跨度显示在silverlight数据网格中,人们希望看到的是horus,而不是天。 最佳答案 根据MSDN,使用%h会告诉你Thenum

c# - 将 TimeSpan 格式化为 mm :ss for positive and negative TimeSpans

我正在寻找.net3.5中的解决方案,我编写了以下工作解决方案:privatestringFormatTimeSpan(TimeSpantime){returnString.Format("{0}{1:00}:{2:00}",time但我的问题是:有没有更好的方法?也许在我不需要辅助函数的地方更短。 最佳答案 略短,使用CustomTimeSpanFormatStrings:privatestringFormatTimeSpan(TimeSpantime){return((time 关于

c# - C# 中的 TimeSpan "pretty time"格式

输入此问题的标题将我带到thisquestion.我正在寻找同样的东西,但如果你明白我的意思,可能不是静态格式的东西?我正在编写一个快速程序,它将获取两个DateTime对象的TimeSpan持续时间并将它们输出以打印到纸上。首选的格式是:XX天,YY小时,ZZ分钟(秒无关;天也是如此,因为我不希望时间跨度包含超过几个小时)。说出下面的代码(例如):DateTimestart=DateTime.Now;DateTimeend=DateTime.Now.AddMinutes(135);TimeSpanduration=(end-start);//outputdurationasXXhou

c# - 用年份格式化 TimeSpan

我有一个具有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 - 格式化负 TimeSpan

我正在用.Net中的时间跨度做一些数学运算,有时总和会导致时间跨度为负。当我显示结果时,我无法将其格式化为包含否定指示符。DimtsasNewTimespan(-10,0,0)ts.ToString()这将显示“-10:00:00”,这很好,但我不想显示秒,所以试试这个。ts.ToString("hh\:mm")这将返回“10:00”并从前面删除了“-”,这是问题的症结所在。我目前的解决方案是这样的:If(ts但我希望只使用格式字符串来完成同样的任务。 最佳答案 我在TimeSpan.ToString(...)上使用了.NetRef

c# - 格式化 TimeSpan 大于 24 小时

假设我将一些秒转换为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

linux - 将时间跨度(以秒为单位)转换为 shell 中的格式化时间

我有一个$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接受来自字符串的时间信息,而不是

linux - 将时间跨度(以秒为单位)转换为 shell 中的格式化时间

我有一个$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接受来自字符串的时间信息,而不是

c# - 从时间中删除前导零以显示耗时

我需要显示耗时跨度的最简单版本。有什么准备好的事情吗?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将其格式

c# - 从时间中删除前导零以显示耗时

我需要显示耗时跨度的最简单版本。有什么准备好的事情吗?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将其格式