废话不多说,直接贴代码
//将此时的时间转化成例如20180808类型的字符串
string strDate = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00");
//若运行如下代码会发生转换错误问题
DateTime dTime = convert.ToDateTime(strDate);
//运行如下代码可解决问题
DateTime dTime = DateTime.ParseExact(strDate , "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
本着做人应该有的 好学 精神
所以借此机会来学习一下 DateTime.ParseExact() 这个方法:
转到定义瞅一眼
// 摘要:
// 使用指定的格式和区域性特定格式信息,将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。字符串表示形式的格式必须与指定的格式完全匹配。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// format:
// 用于定义所需的 s 格式的格式说明符。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式信息。
//
// 返回结果:
// System.DateTime,等效于由 format 和 provider 所指定的 s 中包含的日期和时间。
//
// 异常:
// T:System.ArgumentNullException:
// s 或 format 为 null。
//
// T:System.FormatException:
// s 或 format 是空字符串。- 或 -s 不包含与 format 中指定的模式相对应的日期和时间。- 或 -s 中的小时组成部分和 AM/PM 指示符不一致。
public static DateTime ParseExact(string s, string format, IFormatProvider provider);
就酱,可以说是很清楚了