将格式字符串(dd / mm / yy)转换为ISO日期时间

时间:2020-01-27 13:45:38

标签: c# date-format

我有一个名为if的{​​{1}}变量,其格式为string,我需要将其转换为 ISO标准,如下所示{{1} },那么我该怎么做呢?我正在追踪英国当地时间。

ProjectDateSigned

3 个答案:

答案 0 :(得分:1)

ParseExactDateTime,然后将ToString格式化回:

string source = "13/10/2019 23:00:00";

string result = DateTime
  .ParseExact(source, "d'/'M'/'yyyy' 'H':'m':'s", CultureInfo.InvariantCulture)
  .ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'");

如果您已经拥有DateTime(即,如果i["ProjectDateSinged"]返回DateTime),只需对其进行格式化:

 string result = i["ProjectDateSinged"].ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'");

答案 1 :(得分:1)

这应该可以解决问题。

string myDate = "13/10/2019 23:00:00";

if (DateTime.TryParse(myDate, out var convertedDate))
{
     string output = convertedDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
}

答案 2 :(得分:0)

如果您不想进行日期/时间转换,则可以拆分并重新加入字符串:

var bits = i["ProjectDateSinged"].Split('/', ' ');
string newFormat = $"{bits[2]}-{bits[1]}-{bits[0]}T{bits[3]}Z";
相关问题