C# 为什么不能转换此双精度值
在上面的代码中,我从电子表格文档中获取日期数据。无法转换示例日期。 但其他日期可以转换 为什么我不能转换此日期,如何以不同的方式转换C# 为什么不能转换此双精度值,c#,date,C#,Date,在上面的代码中,我从电子表格文档中获取日期数据。无法转换示例日期。 但其他日期可以转换 为什么我不能转换此日期,如何以不同的方式转换 DateTime.FromOADate(double.Parse("05.09.1977")); 我想用这个将这个字符串转换成日期时间。05.09.1977不是有效的双精度。它看起来像是一个实际的日期,要么是月.日.年,要么是日.月.年 要将其解析为日期时间,请使用以下任一方法: DateTime.ParseExact("05.09.1977", "dd.MM.
DateTime.FromOADate(double.Parse("05.09.1977"));
我想用这个将这个字符串转换成日期时间。05.09.1977不是有效的双精度。它看起来像是一个实际的日期,要么是月.日.年,要么是日.月.年
要将其解析为日期时间,请使用以下任一方法:
DateTime.ParseExact("05.09.1977", "dd.MM.yyyy", CultureInfo.InvariantCulture)
或
1977年9月5日不是有效的双倍。它看起来像是一个实际的日期,要么是月.日.年,要么是日.月.年
要将其解析为日期时间,请使用以下任一方法:
DateTime.ParseExact("05.09.1977", "dd.MM.yyyy", CultureInfo.InvariantCulture)
或
这样:
Console.WriteLine(DateTime.ParseExact("05.09.1977", "dd.MM.yyyy", CultureInfo.InvariantCulture));
输出:
1977年9月5日00:00:00
这样:
Console.WriteLine(DateTime.ParseExact("05.09.1977", "dd.MM.yyyy", CultureInfo.InvariantCulture));
输出:
1977年9月5日00:00:00
根据
返回与指定的OLE自动化日期等效的日期时间
来自OADATE双d的公共静态日期时间
参数
d
双重的
OLE自动化日期值
所以,你必须传递一个double作为参数
但是双倍。1977年9月5日
那怎么可能是双人的
这就是根据
返回与指定的OLE自动化日期等效的日期时间
来自OADATE双d的公共静态日期时间
参数
d
双重的
OLE自动化日期值
所以,你必须传递一个double作为参数
但是双倍。1977年9月5日
那怎么可能是双人的
这就是为什么不能将05.09.1977转换为双精度的原因,请尝试将其直接解析为DateTime:只需使用DateTime.Parse05.09.1977,它默认为第一天为1/1/1的DateTime。如果你想要一个OLE日期,其中第一天是1900年1月1日,那么使用DateTime对象并使用ToOADate。为什么它有+2?他在问为什么不是双精度的东西不能被解析为双精度的…相反,尝试用日期->双精度->日期来字符串你应该用日期->日期->日期05.09.1977来字符串不是可以转换为双精度的东西,试着直接解析为日期时间:只需使用DateTime.Parse05.09.1977,它默认为第一天为1/1/1的日期时间。如果你想要一个OLE日期,其中第一天是1900年1月1日,那么使用DateTime对象并使用ToOADate。为什么它有+2?他在问为什么不是双精度的东西不能被解析为双精度的…相反,你应该用双精度的日期->双精度的日期来字符串,你假设05是天,09是月,这可能是另一种方式。我投票赞成肖恩的回答你假设05是一天,09是一个月,可能正好相反。我投票赞成肖恩的回答