2012-10-29 53 views
1

我知道可以将字符串转换为dateTime()对象,但据我所知,字符串需要已经以特定形式“20121029”。将此字符串转换为日期时间对象

我有一个字符串,它看起来就像这样:

2012-10-29T08:45:00.000

...推在正确的方向的人?

+0

http://www.dotnetperls.com/datetime-format –

回答

2

输出是典型的从DateTime结构,DateTime.parse("2012-10-29T08:45:00.000"),应该解决的问题。

要了解更多关于日期和时间Fromat字符串见使用this

1

只需使用DateTimeParse方法...

var date = DateTime.Parse("2012-10-29T08:45:00.000"); 
1
string strDt = "2012-10-29T08:45:00.000"; 
DateTime dt = DateTime.Parse (strDt); 
string strDate = dt.ToString ("yyyyMMdd"); 
2

对于T,看起来像xml常用的ISO日期格式(8601);因此,XmlConvert非常方便曝光;尝试:

string s = "2012-10-29T08:45:00.000"; 
DateTime when = XmlConvert.ToDateTime(s); 
+0

那是更ISO 8601什么是XML的ISO? –

+0

@真的你是对的; [xml使用ISO 8601](http://www.w3.org/TR/xmlschema-2/#isoformats) - 结果,'XmlConvert.ToDateTime'是这个确切功能的方便包装。 –

+1

,当然可以这样使用它,但是如果没有任何XML上下文,它可能会引起混淆。这就是为什么我会建议使用[DateTime.Parse(string)](http://msdn.microsoft.com/en-us/library/1k1skd40.aspx),也支持该ISO。 –

2

尝试:

DateTime.ParseExact Method 

EG。

string dateString = "2012-10-29T08:45:00.000"; 
CultureInfo provider = CultureInfo.InvariantCulture; 
string format = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff"; 
DateTime dt = DateTime.ParseExact(dateString, format, provider); 

或者

DateTime.Parse Method 

DateTime.Parse(String)

0

下面的代码会做所有的工作适合你。

private static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS"; 

public static void main(String[] args) throws ParseException { 
    SimpleDateFormat dateFormatter = new SimpleDateFormat(DATE_FORMAT); 
    Date dateObj = dateFormatter.parse("2012-10-29T08:45:00.000"); 
    System.out.println(dateObj); 
} 
0

使用这个,这可能使用系统帮助

;使用System.Collections.Generic;使用 System.ComponentModel;使用System.Data;使用System.Drawing;使用 System.Text;使用System.Windows。形式;

命名空间DateTimeConvert { 公共部分Form1类:形式 { 公共Form1中() { 的InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) 
    { 
     label1.Text= ConvDate_as_str(textBox1.Text); 
    } 

    public string ConvDate_as_str(string dateFormat) 
    { 
     try 
     { 
      char[] ch = dateFormat.ToCharArray(); 
      string[] sps = dateFormat.Split(' '); 
      string[] spd = sps[0].Split('.'); 
      dateFormat = spd[0] + ":" + spd[1]+" "+sps[1]; 
      DateTime dt = new DateTime(); 
      dt = Convert.ToDateTime(dateFormat); 
      return dt.Hour.ToString("00") + dt.Minute.ToString("00"); 
     } 
     catch (Exception ex) 
     { 
      return "Enter Correct Format like <5.12 pm>"; 
     } 

    } 


    private void button2_Click(object sender, EventArgs e) 
    { 
     label2.Text = ConvDate_as_date(textBox2.Text); 
    } 

    public string ConvDate_as_date(string stringFormat) 
    { 
     try 
     { 
      string hour = stringFormat.Substring(0, 2); 
      string min = stringFormat.Substring(2, 2); 
      DateTime dt = new DateTime(); 
      dt = Convert.ToDateTime(hour+":"+min); 
      return String.Format("{0:t}", dt); ; 
     } 
     catch (Exception ex) 
     { 
      return "Please Enter Correct format like <0559>"; 
     } 
    } 
} } 
相关问题