在c#中拆分日期

时间:2010-04-30 05:22:47

标签: c#

对于Ex 您可以在文本框中以各种形式输入日期

  1. 12 /奥格斯特/ 2010
  2. 奥格斯特/二千零十分之十二
  3. 十二分之二千零十/奥格斯特
  4. 并且输出是 三个文本框首先是day show = 12 textbox second是Months show = augest textbox第三个是Year show = 2010

4 个答案:

答案 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();