Youtube api YouTube报告API.Net客户端库CreateTime毫秒

Youtube api YouTube报告API.Net客户端库CreateTime毫秒,youtube-api,google-api-dotnet-client,Youtube Api,Google Api Dotnet Client,返回为特定作业生成的报告列表时,API将返回createTime属性。然后使用此属性值将未来的请求限制为仅包括已收集的最大createTime之后的CreatedReports 问题是客户端库没有返回毫秒精度。相反,我得到的字符串只包含秒,如“4/3/2017 11:25:25 AM” 当我使用API资源管理器时,在json响应中会得到毫秒 问题是,客户端库能否返回毫秒?如果是,我如何获得该值 我所指的报表属性称为“CreateTime” 更新20170406 CreateTime作为泛型对象

返回为特定作业生成的报告列表时,API将返回createTime属性。然后使用此属性值将未来的请求限制为仅包括已收集的最大createTime之后的CreatedReports

问题是客户端库没有返回毫秒精度。相反,我得到的字符串只包含秒,如“4/3/2017 11:25:25 AM”

当我使用API资源管理器时,在json响应中会得到毫秒

问题是,客户端库能否返回毫秒?如果是,我如何获得该值

我所指的报表属性称为“CreateTime”

更新20170406

CreateTime作为泛型对象从客户端库返回。令人惊讶的是,它同时允许get和set

下面我将转换为日期时间数据,然后返回到字符串并显式格式化

((DateTime)job.CreateTime).ToString("yyyy-MM-dd HH:mm:ss.fff"))
结果是一样的。不返回小数秒

((DateTime)job.CreateTime).ToString(“yyyy-MM-dd-HH:MM:ss.fff”))

更新20170406

更正-上面的示例使用作业对象的CreateTime属性。虽然作业不返回分数秒,但report.CreateTime会返回分数秒

结果表明,report.CreateTime(对象)在直接转换为字符串时不包括小数秒。解决方案是首先将其强制转换为datatime数据类型。然后,可以根据需要格式化数据

((DateTime)report.CreateTime).ToString("yyyy-MM-dd HH:mm:ss.fff")

乔恩·斯基特(Jon Skeet)发表了一篇评论,让人对答案产生了怀疑。请参阅上述帖子中的最后一个示例。

Jon Skeet发表了一条评论,让我们对答案进行了解释。参见上述帖子中的最后一个示例。

与您所说的相反,createTime使用RFC3339 UTC“Zulu”格式的时间戳,精确到微秒(示例:“2015-10-02T15:01:23.045678Z”。)。如果你能给我们一个原始的答复,那就太好了。说明书上说我应该得到毫秒。我还验证了我在使用API资源管理器时确实获得了毫秒。问题是.Net客户端库没有返回毫秒。代码非常简单。我在原始帖子中添加了一个示例。您确定问题出在数据中,而不是如何将其转换为字符串?例如,尝试
Console.WriteLine(“EndTime:+report.EndTime.ToString”(“yyyy-MM-dd HH:MM:ss.fff”))
。(当我可以的时候,我会调查一下。)我很确定问题在于返回的数据。createtime属性作为泛型对象返回。要格式化它,我需要将它转换为日期时间。我在原始帖子中添加了注释,以演示将日期时间格式化为秒的结果。请参阅我最新的注释Jon。你说得对。report.CreateTime正在返回小数秒!非常感谢你为我指明了正确的方向。如果你想发布答案,我很乐意标记。与你说的相反,createTime使用RFC3339 UTC“Zulu”格式的时间戳,精确到微秒(例如:“2015-10-02T15:01:23.045678Z”。)。如果你能给我们一个原始的答复,那就太好了。说明书上说我应该得到毫秒。我还验证了我在使用API资源管理器时确实获得了毫秒。问题是.Net客户端库没有返回毫秒。代码非常简单。我在原始帖子中添加了一个示例。您确定问题出在数据中,而不是如何将其转换为字符串?例如,尝试
Console.WriteLine(“EndTime:+report.EndTime.ToString”(“yyyy-MM-dd HH:MM:ss.fff”))
。(当我可以的时候,我会调查一下。)我很确定问题在于返回的数据。createtime属性作为泛型对象返回。要格式化它,我需要将它转换为日期时间。我在原始帖子中添加了注释,以演示将日期时间格式化为秒的结果。请参阅我最新的注释Jon。你说得对。report.CreateTime正在返回小数秒!非常感谢你为我指明了正确的方向。如果你想发布一个答案,我很乐意给你打分。
((DateTime)report.CreateTime).ToString("yyyy-MM-dd HH:mm:ss.fff")