数据时间格式(持续时间)

时间:2011-03-03 10:00:24

标签: c# asp.net

我有一个查询,我希望以自定义格式显示时间信息,如(1分06秒)从日期开始。我在数据库中有一个字段持有时间,当我绑定我的数据控件然后在项目中我希望在上面显示格式(1分06秒),有可能吗?

3 个答案:

答案 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";