我有一个查询,我希望以自定义格式显示时间信息,如(1分06秒)从日期开始。我在数据库中有一个字段持有时间,当我绑定我的数据控件然后在项目中我希望在上面显示格式(1分06秒),有可能吗?
答案 0 :(得分:2)
查看此文档 - http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
但是,假设你有一个DateTime
对象,这样的东西应该可以解决问题:
var test1 = DateTime.UtcNow.ToString("m'min 's'sec'");
或TimeSpan
:
var test2 = TimeSpan.FromSeconds(123).ToString("m'min 's'sec'");
您可以轻松添加小时/天/等。取决于您想要的确切格式。如果您的对象不是DateTime或TimeSpan对象,则必须执行自定义操作。
答案 1 :(得分:1)
您可以使用System.TimeSpan
结构。它代表时间间隔。
MSDN
答案 2 :(得分:0)
给定DateTime变量,您可以执行以下操作:
var rr = dt1.ToString("mm'min 'ss'sec'");
或者,如果您有TimeSpan:
您需要使用TimeSpan。一种简单的方法如下:
var ts = new TimeSpan(0, 2, 30);
var result = ts.Minutes.ToString() + "min " + ts.Seconds.ToString() + "sec";
在这个例子中,我将TimeSpan变量设置为2分30秒。
或者,如果您有两个日期: 如果你有两个日期,你可以做差异并获得时间跨度,并从那里使用我上面显示的代码:
var dt1 = new DateTime(2011, 01, 01, 12, 01, 00);
var dt2 = new DateTime(2011, 01, 01, 12, 03, 30);
var diffTimeSpan = dt2.Subtract(dt1);
var r = diffTimeSpan.Minutes.ToString() + "min " + diffTimeSpan.Seconds.ToString() + "sec";