首页 > 解决方案 > DocuSign 推荐的 DateSigned 选项卡值解析

问题描述

我正在DateSigned从信封的表单数据中检索一个选项卡。返回的字符串格式如下:

5/29/2018 | 1:21:42 PM PDT

尝试解析此字符串时的标准DateTime.TryParse和失败。DocuSign 是否有推荐的方法来解析这种格式的字符串?最好,我想将字符串解析为 DateTimeOffset(相对于 DateTime)。DateTimeOffset.TryParse

标签: c#docusignapi

解决方案


几乎可以使用DateTime.ParseExactor来做到这一点DateTime.TryParseExact。问题是没有可以理解时区缩写的自定义格式字符串。

如果您撕掉存储时区(包括空格)的最后 4 个字符,则可以使用以下代码对其进行解析。

var dateString = "5/29/2018 | 1:21:42 PM"; // Time-zone stripped out
if (DateTime.TryParseExact(dateString,
                           "M/d/yyyy | h:m:s tt",
                           CultureInfo.InvariantCulture,
                           DateTimeStyles.None,
                           out var theDate))
{
    Console.WriteLine(theDate);
}
else
{
    Console.WriteLine("Unable to parse date");
}

为了应用时区,您必须通过阅读缩写并以某种方式查找它来手动找出与 UTC 的偏移量。


推荐阅读