如何在连接后从两个字符串中使用适当的值形成DateTime?

时间:2014-06-25 11:42:00

标签: c# asp.net datetime

如何使用两个字符串中的适当值形成DateTime?例如,我有一个日期的文本框,其输入类似于' 06/25/2014' &安培;当时的另一个文本框,输入如' 23:59'。我试图连接这两个文本框值以形成一个DateTime变量,其值为组合结果为' 2014-06-25 23:59:00.000'

我已编写此代码,但收到此错误:

String was not recognized as a valid DateTime

string StartDate = Convert.ToString(txtOffBarDate.Text);
string StartTime =Convert.ToString(txtOffbarTime.Text);

DateTime StartDateTime = Convert.ToDateTime(StartDate + " " + StartTime);

3 个答案:

答案 0 :(得分:1)

DateTime startDateTime =DateTime.Parse(string.Format("{0} {1}",txtOffBarDate.Text,txtOffbarTime.Text),yourCultureInfo); 

修改

填充yourCultureInfo:CultureInfo.GetCultureInfo(“en-US”);

答案 1 :(得分:1)

Convert.ToDateTime方法使用当前线程文化的标准日期和时间模式。

yyyy-MM-dd HH:mm:ss.fff看起来string s = "2014-06-25 23:59:00.000"; DateTime dt; if(DateTime.TryParseExact(s, "yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { dt.Dump(); } 不是标准的日期和时间格式。

您可以使用CurrentCultureDateTime.TryParseExact方法来解析DateTime.ParseExact

这是custom date and time string;

的示例
CurrentCulture

下次,如果您对全球化问题有疑问,请同时提供您的{{1}}。

答案 2 :(得分:0)

您可以简单地使用:

DateTime StartDateTime ;
DateTime.TryParse(StartDate + " " + StartTime,out StartDateTime );