添加10小时到服务器时间

时间:2014-02-13 15:41:13

标签: c# datetime

在winform中,我有一个字符串,其中包含一个序列号,其编号如下:

  

PR(这是一个前缀)+ ss mm hh dd mm yy

导致类似PR010110120914。现在这是保存记录的服务器时间。 这是我的代码,其中rawDate是来自DB的上述字符串:

string datetimeinserver = DateTime.ParseExact(rawDate.Substring(2),
            "ssmmHHddMMyy",
            CultureInfo.InvariantCulture)
                .ToString("HH:mm:ss on dd/MM/yyy");

出于各种原因,我需要将10个小时添加到datetimeinserver,我已经搞砸了没有结果。有没有一种简单的方法可以将10小时添加到datetimeinserver?

3 个答案:

答案 0 :(得分:3)

使用DateTime.AddHours。只需将您的代码更改为:

DateTime dt = DateTime.ParseExact(rawDate.Substring(2),
        "ssmmHHddMMyy",
        CultureInfo.InvariantCulture);
dt = dt.AddHours(10);
string datetimeinserver = dt.ToString("HH:mm:ss on dd/MM/yyy");

答案 1 :(得分:1)

DateTime.ParseExact会返回DateTime个对象。然后,您可以使用DateTime.AddHours方法,例如:

DateTime tempDt = DateTime.ParseExact(rawDate.Substring(2),
                  "ssmmHHddMMyy",
                   CultureInfo.InvariantCulture);

tempDt = tempDt.AddHours(10);

string datetimeinserver = tempDt.ToString("HH:mm:ss on dd/MM/yyy");

您也可以在以下语句中执行相同操作:

string datetimeinserver = DateTime.ParseExact(rawDate.Substring(2),
            "ssmmHHddMMyy",
            CultureInfo.InvariantCulture)
            .AddHours(10)
                .ToString("HH:mm:ss on dd/MM/yyy");

答案 2 :(得分:0)

string datetimeinserver = DateTime.ParseExact(rawDate.Substring(2),"ssmmHHddMMyy", CultureInfo.InvariantCulture);

dateTimeinserver.AddHours(10).ToString("HH:mm:ss on dd/MM/yyy");