對於防爆 您日期在各種形式的文本框中輸入日期拆分在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