0
    string t3 = "01:30 AM";
    txtStartDate.text = "12-Mar-2013";
    DateTime dat1 = DateTime.Parse(txtStartDate.Text);
    DateTime dat2 = (DateTime.ParseExact(t3, "H:mm tt", CultureInfo.InvariantCulture));
    //this gives 5/30/2013 1:30:00 AM 
    // 5/30/2013 is current date

我想用 dat1 值替换当前日期,也就是说,我希望 dat2 具有 12/mar/2013 1:30:00:AM

任何人都可以帮我这样做吗?提前致谢

4

3 回答 3

2

解析数据字符串后dat1设置为午夜 12:00,因此您可以将TimeOfDayfrom添加dat2到它。

    var t3 = "01:30 AM";
    txtStartDate.text = "12-Mar-2013";
    DateTime dat1 = DateTime.Parse(txtStartDate.text);

    DateTime dat2 = (DateTime.ParseExact(t3, "H:mm tt", CultureInfo.InvariantCulture));

    dat1 = dat1.Add(dat2.TimeOfDay); // <-- added this line

    //this gives 3/12/2013 1:30:00 AM 
    Console.WriteLine(dat1);
    Console.WriteLine(dat2);
于 2013-05-30T13:46:30.210 回答
1

我个人使用这样的东西:

dat2 = new DateTime(dat1.Year, dat1.Month, dat1.Day, dat2.Hour, dat2.Minunte, dat2.Seconds, dat2.Milliseconds);

但我面临的挑战是时间已经确定。

于 2013-05-30T13:47:03.453 回答
1

简单的添加就可以了。

DateTime date = DateTime.Parse(txtStartDate.text) + DateTime.ParseExact(t3, "H:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
于 2013-05-30T14:01:25.517 回答