所以我有一个这种格式的日期。我的目标是向此字符串startdate
添加 7 天,并将其作为字符串发布到数据库中。但是,我必须将其转换为日期时间才能允许我向其添加天数。我正在从数据库中读取startdate
,但这就是它的样子。
string startdate = "10-03-2018 03:15PM";
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime starttime2 = DateTime.ParseExact(startdate, "MM/dd/yyyy HH:mm tt", culture);
它在上面的行上中断并出现错误 - 该字符串未被识别为有效的日期时间。
DateTime endtime2 = starttime2.AddDays(+7);
有人能帮我解决这个问题吗?我是C#的新手,希望得到任何帮助。
谢谢
您实际上指定了错误的格式。应指定以下格式:
"dd-MM-yyyy hh:mmtt"
由于您的日期格式为:
"10-03-2018 03:15PM"
假设第一个数字 us 表示天,第二个数字是月份,否则您可以交换它们。
您可以在此处查看有关ParseExact
用法的更多详细信息。
试试这个:
string startdate = "10-03-2018 03:15PM";
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime starttime2 = DateTime.ParseExact(startdate, "dd-MM-yyyy hh:mmtt", culture);
mm和TT之间没有空格,这也是12小时的格式,所以hh
我认为这会对你有所帮助
public static DateTime AddDaysToMyDate(string date)
{
return DateTime.ParseExact(date, "dd-MM-yyyy hh:mmtt", new CultureInfo("en-US", true)).AddDays(7);
}
将其用作
DateTime newDateTime = AddDaysToMyDate("10-03-2018 03:15PM");