【发布时间】:2018-01-18 09:05:32
【问题描述】:
我的datetime 是这种格式2017-01-15T21:00-07:00 所以我正在解析它
string ADT = Convert.ToString(timestamp.DateOrTimestamp);
int index = ADT.IndexOf("T");
string FADT = (index > 0 ? ADT.Substring(0, index) : "");
DateTime dtFADT = DateTime.ParseExact(FADT, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
string ADT1 = ADT.Split('T', '-')[3];
Console.WriteLine("{0}: {1}", timestamp.Type, dtFADT.ToString("MM/dd/yyyy") + " " + String.Format("{0:h:mm t}", ADT1));
将写入控制台:Delivery: 01/15/2017 09:00:00
为什么String.Format() 没有将上午/下午添加到我的时间?
【问题讨论】:
-
21:00-07:00这是一个范围还是什么?如果07是几秒钟,那么最后一个00是什么意思? -
您的
DateTimeNOT 格式为2017-01-15T21:00-07:00。那是string。DateTimeNOT 是否有格式 - 它只是一个数字。只有当您调用.ToString(...)时,您才会创建具有格式的string。 -
@Enigmativity - 很抱歉在 DateTime 或 String 方面没有正确理解 DateTime 与 String。如何解决我的问题的适用示例,而不是关于变量的抨击或教训。
-
@StarsFlyFreeFromCozyNights - 抱歉,没有骂人。只是想非常清楚
DateTime和日期/时间格式之间的关系。
标签: c# string.format