对于Ex 您可以在文本框中以各种形式输入日期
并且输出是 三个文本框首先是day show = 12 textbox second是Months show = augest textbox第三个是Year show = 2010
答案 0 :(得分:5)
要解析/验证三种预期格式,您可以使用以下内容。鉴于模式,一旦你知道它是有效的,你可以使用string.Split
获得第一部分;如果你需要更优雅的东西,可以依次对每个模式使用TryParseExact
并提取所需的部分(或重新格式化)。
string s1 = "12/August/2010",
s2 = "August/12/2010",
s3 = "2010/12/August";
string[] formats = { "dd/MMMM/yyyy", "MMMM/dd/yyyy", "yyyy/dd/MMMM" };
DateTime d1 = DateTime.ParseExact(s1, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None),
d2 = DateTime.ParseExact(s2, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None),
d3 = DateTime.ParseExact(s3, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None);
答案 1 :(得分:1)
使用DateTime.Parse(String, IFormatProvider)或DateTime.ParseExact将字符串转换为DateTime。
然后,您可以使用相应的properties提取日期,月份和年份。
答案 2 :(得分:0)
date dt date.Parse(txtBox.text);
txtBox1.Text = dt.Day.ToString();
txtBox2.Text = dt.ToString("MMM");
txtBox3.Text = dt.Year.ToString();
date.Parse可能会根据你给它的字符串抛出,但是你可以通过尝试使用不同的文化解析它来回退。
编辑:添加了M
答案 3 :(得分:0)
使用DateTime.Parse(s)
。见MSDN
然后,您可以获取DateTime结构的各个部分。
e.g。
DateTime date = DateTime.Parse("some input date string");
string day = DateTime.Day.ToString();
string month = DateTime.Month.ToString();
string year = DateTime.Year.ToString();