2

我的日期时间有问题。在我的 sql 数据中,我得到了 1-24h 的时间数据,但在 C# datetime 中,我只能对 0h 到 23h 的值进行建模。如何将其转换为 1-24 小时?

提前致谢!

我该如何表达让你明白,我的英语不够好。好难过。我有这样的数据

1/1/2010 1:00 20mm
1/1/2010 2:00 30mm
1/1/2010 3:00 50mm
....
1/1/2010 23:00 10mm
1/1/2010 24:00 5mm
2/1/2010 1:00 30mm
2/1/2010 2:00 8mm

如您所见,没有 0:00,他们写的是 0:00 的 24:00。

4

4 回答 4

1

试试这个。

Datetime.Now.AddHours(-12)

它可能会帮助你。

于 2013-04-16T07:26:19.853 回答
0

您可以编写一个扩展方法来为您进行字符串格式化。

string str = System.DateTime.Now.ToMySQLstring();

这是扩展方法:

namespace System
{


    public static class TimeSpanExtensions
    {


        public static string ToMySQLstring(this DateTime dt)
        {
            int hour = dt.Hour + 1;
            int min = dt.Minute;
            int sec = dt.Second;
            int msec = dt.Millisecond;

            int day = dt.Day;
            int month = dt.Month;
            int year = dt.Year;

            //2009-05-01T14:18:12.430
            return String.Format("{0}-{1:00}-{2:00}T{3:00}:{4:00}:{5:00}.{6:000}", year, month, day, hour, min, sec, msec);
        }


    } // End Class


} // End Namespace
于 2013-04-16T08:25:39.037 回答
0

0-23h 有效,因为 0:00 是午夜,23:59:59 是距明天一秒。老实说,我不确定您如何在 SQL 中获得 1-24,我一直看到 SQL Server 中存储的数据为 00-23。

如果您要处理要显示的数据的格式,请查看以下链接; http://msdn.microsoft.com/en-gb/library/8kb3ddd4.aspx

于 2013-04-16T07:27:10.593 回答
0

用于ParseMilitaryTime此目的。

以下文档包含有关您想要做的事情的所有示例和描述:

http://www.dotnetperls.com/24-hour-time

于 2013-04-16T07:27:26.437 回答