将datetime中的date替换为另一个日期

本文关键字:另一个 日期 替换 date datetime 中的 | 更新日期: 2023-09-27 18:15:59

    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

谁能帮我做这件事?提前感谢

将datetime中的date替换为另一个日期

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

    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);

我个人是这样用的:

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

但是我遇到了一个挑战,时间被设置为什么

简单的加法就可以了。

DateTime date = DateTime.Parse(txtStartDate.text) + DateTime.ParseExact(t3, "H:mm tt", CultureInfo.InvariantCulture).TimeOfDay;