我遇到了问题,我无法以正确的格式将我的字符串解析为DateTime。 我尝试了很多不同的方法,并在几个网站上搜索,但我找不到解决问题的方法
string vonDatum = dtpVon.Value.ToString("dd.MM.yyyy");
DateTime startDatum = DateTime.ParseExact(vonDatum, "dd.MM.yyyy", null);
String bisDatum = dptBis.Value.ToString("dd.MM.yyyy");
DateTime endDatum = DateTime.ParseExact(bisDatum, "dd.MM.yyyy", null);
如您所见,我想以dd.MM.yyyy的形式解析。但我得到的东西就像dd.MM.yyyy.ss.fff(不确定ss.fff,但我也得到秒和毫秒)。
非常感谢有人可以帮助我
答案 0 :(得分:0)
将datetime解析为特定的字符串格式或将其转换为特定的文化通常会抛出异常。您可以使用以下代码获取此格式dd.MM.yyyy
DateTime dateString = DateTime.Now;
string day = dateString.Day.ToString();
string month = dateString.Month.ToString();
string year = dateString.Year.ToString();
string date = day + "." + month + "." + year;
Console.WriteLine(date);
输出:10.2.2017
答案 1 :(得分:0)
我刚自己发现了它。 如果有人遇到同样的问题,请按照以下方法处理。
string datum = String.Format("{0:dd/MM/yyyy}", date);
例如,我在这种情况下使用它。
string vonDatum = dtpVon.Value.ToString("dd.MM.yyyy");
DateTime startDatum = DateTime.ParseExact(vonDatum, "dd.MM.yyyy", null);
string bisDatum = dptBis.Value.ToString("dd.MM.yyyy");
DateTime endDatum = DateTime.ParseExact(bisDatum, "dd.MM.yyyy", null);
for (DateTime date = startDatum; date <= endDatum; date = date.AddDays(1))
{
string datum = String.Format("{0:dd/MM/yyyy}", date);
// Erste tabellenbefüllung erstellen
sqlite_cmd.CommandText = "INSERT INTO einteilung (mitarbeiter, arbeitsschicht, datum) VALUES ('"+mitarbeiter+"', '"+arbeitsschicht+"', '"+datum +"');";
sqlite_cmd.ExecuteNonQuery();
}