[英]Convert DateTime in mm/dd/yyyy to DateTime in yyyy-dd-mm
我想从一个转换DateTime
在MM/dd/yyyy
另一个DateTime
在yyyy-dd-MM
我可以使用Date.Parse().ToString("yyyy-MM-dd")
以yyyy-dd-MM
的形式获取string
但是,当我使用Convert.ToDateTime()
或Date.Parse()
将string
转换回DateTime
,它只是将string
转换回DateTime
形式为MM/dd/yyyy HH:mm:ss
DateTime
的表示形式之间没有区别。 实际上, DateTime
是许多刻度,可以用您想要的任何形式表示。
根据您的答案-如果您需要使用某种格式将DateTime
字符串化-您应该在需要的地方指定所需的格式。
说我想将某种格式的日期时间转换为另一种格式的日期时间在技术上是错误的,因为该格式与DateTime
字符串表示有关。
为什么我不能使用DateTime.Parse()
将yyyy-dd-MM
格式的字符串转换为DateTime
?
DateTime.Parse
通过使用当前区域性的约定来解析日期和时间字符串。
要跨计算机和可能的文化边界以自定义/固定格式解析日期和时间字符串,可以使用DateTime.ParseExact
。
因此,要将yyyy-dd-MM
的字符串转换为DateTime
,可以使用:
var d = DateTime.ParseExact("2016-31-12", "yyyy-dd-MM", CultureInfo.InvariantCulture);
同样如MSDN中所述,由于日期和时间的字符串表示必须符合公认的模式,因此在调用parse方法解析用户输入时应始终使用异常处理,或者考虑使用TryParse
或TryParseExact
。
更多信息:
我认为DateTime总是以您的系统格式显示日期。 也就是说,如果将系统格式设置为yyyy-dd-MM,它将以该格式显示日期。
如果必须在ui上显示日期,请更好地使用格式化的字符串。
但是,如果要执行任何操作(天气比较或任何其他操作),请使用DateTime。 所有的DateTime将始终为系统格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.