对于防爆 您日期在各种形式的文本框中输入日期拆分在C#
- 12 /奥格斯特/ 2010
- 奥格斯特/ 12/2010
- 2010/12 /奥格斯特
和输出是 三个文本框首先是日期显示= 12 文本框第二个是显示月份= augest 文本框第三个是显示= 2010
对于防爆 您日期在各种形式的文本框中输入日期拆分在C#
和输出是 三个文本框首先是日期显示= 12 文本框第二个是显示月份= augest 文本框第三个是显示= 2010
使用DateTime.Parse(String, IFormatProvider)或DateTime.ParseExact将字符串转换为DateTime。
然后您可以使用相应的properties提取日,月和年。
要解析/验证三种预期格式,可以使用类似下面的格式。鉴于这种模式,一旦你知道它是有效的,你可以使用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);
date dt date.Parse(txtBox.text);
txtBox1.Text = dt.Day.ToString();
txtBox2.Text = dt.ToString("MMM");
txtBox3.Text = dt.Year.ToString();
date.Parse可能取决于你给它的字符串抛出,但你可以尝试使用不同的文化解析它回落。
编辑:增加了一个M
使用DateTime.Parse(s)
。请参阅MSDN
然后,您可以获取DateTime结构的各个部分。
例如
DateTime date = DateTime.Parse("some input date string");
string day = DateTime.Day.ToString();
string month = DateTime.Month.ToString();
string year = DateTime.Year.ToString();
或尝试http://stackoverflow.com/search?q=datetime.parse :) – 2010-04-30 05:36:17