0

我有数据类型的数据库列Time(例如08:00:00.0000000:)

我正在读取程序中的值并将其移动到声明如下的变量中

public string vartime{get;set;}

在程序中读取数据时,它是有价值的。

((TimeSpan)(dr["dates"])).ToString()    "08:00:00"  string

我需要08:00 am在网格中显示这些值。此外,该值16:00:00.0000000应显示为04:00 pm

在给vartime=((TimeSpan)(dr["dates"])).ToString("hh:mm tt")时,它给了我一个错误,因为输入的格式不正确。

请让我知道如何格式化 Time 变量以使用 am/pm 显示。

4

2 回答 2

0

在 sql server 中,你可以这样做:

  declare @time datetime='16:00:00';
  SELECT substring(convert(varchar(20), @time, 9), 13, 5) 
        + ' ' + substring(convert(varchar(30), @time, 9), 25, 2)

结果

 4:00 PM
于 2012-08-07T07:51:16.327 回答
0

您可以通过将时间跨度添加到日期时间来做到这一点,例如,

    TimeSpan timespan = new TimeSpan(03,00,00);
    DateTime time = DateTime.Today.Add(timespan);
    string displayTime = time.ToString("hh:mm tt");

而不是 03,00,00 你可以直接传递你的时间跨度变量

于 2014-07-18T01:45:49.673 回答