在c#中没有获得正确的日期时间格式

时间:2017-03-06 10:22:56

标签: c# datetime controller

我无法获得当地时间。我从api

获取这样的数据

示例数据

curl -s --request POST --user GERRIT-USERNAME https://GERRIT-SERVER/a/changes/1313201/index

Desired Out put

 2017-03-06T09:34:20.545Z

我得到这样的价值 - 3/6/2017, 3:04:20 PM

如何以格式" 3/6 / 2017,3:04:20 PM"

获得适当的时间

我试图将时间本地化,但它给出的日期时间不正确。

数据类型

06/03/2017 04:34:20 AM

string updtime = bin.timestamp; // 03/06/2017 12:51:33             binModel.UpdatedTime = Convert.ToDateTime(updtime).ToString(" M / d / yyyy,h:mm:ss tt",CultureInfo.InvariantCulture); //预计时间 - 2017年3月6日,6 :21:33 PM

3 个答案:

答案 0 :(得分:2)

您的格式不正确:

"dd/MM/yyyy HH:mm:ss tt"

HH用于24小时格式,但您使用AM/PM,因此您需要12小时格式。使用hh

您的样本数据是:

2017-03-06T09:34:20.545Z

意味着。年份为2017,月份为03,日期为06,时间相同。

对于所需的输出,您需要Month/Day/Year。但是你使用这种格式:

"dd/MM/yyyy HH:mm:ss tt"

在这里你得到Day/Month/Year

您应该将格式更改为(前面也没有使用逗号和逗号):

"M/d/yyyy, h:mm:ss tt"

答案 1 :(得分:1)

当我忘记如何格式化时间戳时,我个人总是reference this page。如果你必须使用字符串,而不是DateTime,你可以这样做。

GAsyncReadyCallback

字符串的格式可以是您选择的任何内容,但链接的页面对我来说一直是最有帮助的。如果您可以使用DateTime属性,只需执行此操作。您总是希望将其包装在try / catch中,并验证您是否获得了所需的值。

obj.UpdatedTime = string.Format("{0: d/m/yyyy, HH:mm:ss tt", Convert.ToDateTime(data)});

干杯

答案 2 :(得分:1)

试用此代码:

MemoryMappedFile mmfSimPro = MemoryMappedFile.CreateOrOpen("MyFileMappingObject_SimPro", 20);
MemoryMappedViewAccessor accessorAxesSimPro = mmfSimPro.CreateViewAccessor(0, 20);
for (int i = 0; i < axesSimPro.Length; i++)
   axesSimPro[i] = accessorAxesSimPro.ReadSingle(sizeof(float) * i);