none
求字符串转换为日期类型的函数 RRS feed

答案

  • 您可以使用正则表达式啊


    共同努力,共同提高
    kaedei#live.cn My BLOG
    • 已标记为答案 楓の戀 2010年5月25日 14:32
    2010年5月21日 10:02
  • DateTime.TryParse

     

    public static bool TryParse(
    	string s,
    	out DateTime result
    )
    
    2010年5月21日 3:41
  • 你好!

        可以参考这个实例:

    string[] dateStrings = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8", 
                "2009-05-01T14:57:32.8375298-04:00", 
                "5/01/2008 14:57:32.80 -07:00", 
                "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM", 
                "Fri, 15 May 2009 20:10:57 GMT" };
    DateTime dateValue;
    
    outputBlock.Text += String.Format("Attempting to parse strings using {0} culture.",
             CultureInfo.CurrentCulture.Name) + "\n";
    foreach (string dateString in dateStrings)
    {
      if (DateTime.TryParse(dateString, out dateValue))
       outputBlock.Text += String.Format(" Converted '{0}' to {1} ({2}).", dateString,
                dateValue, dateValue.Kind) + "\n";
      else
       outputBlock.Text += String.Format(" Unable to parse '{0}'.", dateString) + "\n";
    }
    


    周雪峰
    2010年5月21日 5:31
    版主
  • 你好!

         你先把字符串处理一下,前面添加“20”,然后每隔两位添加“-”,然后用上面方法解析就可以了!


    周雪峰
    2010年5月21日 7:31
    版主
  • 除以10000,得到年

    减去年x10000之后,再除以100,就是月

    日也一样

    或者tostring之后加俩-进去就可以了

    不过一般不大建议这么处理日期,遇到闰年等就麻烦了


    霸王
    2010年5月21日 12:15
  • http://msdn.microsoft.com/en-us/library/332de853.aspx

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年5月21日 21:19
    版主

全部回复

  • DateTime.TryParse

     

    public static bool TryParse(
    	string s,
    	out DateTime result
    )
    
    2010年5月21日 3:41
  • 你好!

        可以参考这个实例:

    string[] dateStrings = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8", 
                "2009-05-01T14:57:32.8375298-04:00", 
                "5/01/2008 14:57:32.80 -07:00", 
                "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM", 
                "Fri, 15 May 2009 20:10:57 GMT" };
    DateTime dateValue;
    
    outputBlock.Text += String.Format("Attempting to parse strings using {0} culture.",
             CultureInfo.CurrentCulture.Name) + "\n";
    foreach (string dateString in dateStrings)
    {
      if (DateTime.TryParse(dateString, out dateValue))
       outputBlock.Text += String.Format(" Converted '{0}' to {1} ({2}).", dateString,
                dateValue, dateValue.Kind) + "\n";
      else
       outputBlock.Text += String.Format(" Unable to parse '{0}'.", dateString) + "\n";
    }
    


    周雪峰
    2010年5月21日 5:31
    版主
  • 哥们啊,这样的不行,现在要做个输入字符如120101 转换成2012-1-1  这样之类的,有吗?

    哪位大哥有的话请留言

    2010年5月21日 6:47
  • 哪位大哥手上有写好的函数?请发个给我,急用,功能如下

    输入120120   --->  2012-01-20

    输入20100201 --> 2012-02-01

    诸如此类,有的大哥不要吝啬啦,类似的也可以发出来学习学习啊

    2010年5月21日 7:09
  • 你好!

         你先把字符串处理一下,前面添加“20”,然后每隔两位添加“-”,然后用上面方法解析就可以了!


    周雪峰
    2010年5月21日 7:31
    版主
  • 您可以使用正则表达式啊


    共同努力,共同提高
    kaedei#live.cn My BLOG
    • 已标记为答案 楓の戀 2010年5月25日 14:32
    2010年5月21日 10:02
  • 你好!

         我不是在上个帖子中告诉你实现的思路了吗!

         你自己写一下啊!就几行代码!


    周雪峰
    2010年5月21日 11:08
    版主
  • 除以10000,得到年

    减去年x10000之后,再除以100,就是月

    日也一样

    或者tostring之后加俩-进去就可以了

    不过一般不大建议这么处理日期,遇到闰年等就麻烦了


    霸王
    2010年5月21日 12:15
  • http://msdn.microsoft.com/en-us/library/332de853.aspx

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年5月21日 21:19
    版主
  • 你好!

         希望是不是这样?

            //字符串时间
            string _date="2010-5-22";
            //转成DateTime类型
            DateTime dt=Convert.ToDateTime(_date);
            //换一种格式,打印出来
            Response.Write(dt.ToString("dd-MM-yyyy"));

    2010年5月22日 11:28