首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将字符串日期转换为特定的日期时间格式

将字符串日期转换为特定的日期时间格式
EN

Stack Overflow用户
提问于 2018-07-01 01:38:57
回答 1查看 89关注 0票数 0

我有一个日期时间格式字符串,如下所示:

开始日期:

代码语言:javascript
复制
2018/06/30 23:00

和结束日期:

代码语言:javascript
复制
2018/07/01 19:32

现在我想把这个字符串转换成这样的格式:

代码语言:javascript
复制
2017-02-11T19:58:18.918Z

开始日期和结束日期都应采用此日期字符串格式

我尝试过这样的东西:

代码语言:javascript
复制
   var properStart = DateTimeOffset.ParseExact(startdate, "yyyy-MM-dd'T'HH:mm:sszzz",
                                                       CultureInfo.InvariantCulture).ToString();
   var properEnd = DateTimeOffset.ParseExact(enddate, "yyyy-MM-dd'T'HH:mm:sszzz",
                                                CultureInfo.InvariantCulture).ToString();

但这会给我一个错误,如下所示:

代码语言:javascript
复制
Additional information: String was not recognized as a valid DateTime.

我到底做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-07-01 01:43:47

您正在尝试解析此字符串:

代码语言:javascript
复制
"2018/06/30 23:00"

指定此格式:

代码语言:javascript
复制
"yyyy-MM-dd'T'HH:mm:sszzz"

该格式与该字符串不匹配,因此解析失败。从输入的格式进行解析:

代码语言:javascript
复制
var properStart = DateTimeOffset.ParseExact(startdate, "yyyy/MM/dd HH:mm",
                                                   CultureInfo.InvariantCulture)

然后输出为您想要的格式:

代码语言:javascript
复制
var properStartOutput = properStart.ToString("yyyy-MM-dd'T'HH:mm:sszzz");

或者,如果你真的想在一行中完成所有的事情:

代码语言:javascript
复制
var properStart = DateTimeOffset.ParseExact(startdate, "yyyy/MM/dd HH:mm",
                                                   CultureInfo.InvariantCulture).ToString("yyyy-MM-dd'T'HH:mm:sszzz").

重点是解析输入和格式化输出是两个不同的操作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51117173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档