1

我知道可以将字符串转换为 dateTime() 对象,但据我所知,字符串需要采用特定形式,例如“20121029”。

我有一个看起来完全像这样的字符串:

2012-10-29T08:45:00.000

...推动正确的方向有人吗?

4

8 回答 8

2

加上T, 看起来像 xml 常用的 ISO 日期格式(8601);因此,XmlConvert非常方便地暴露这一点;尝试:

string s = "2012-10-29T08:45:00.000";
DateTime when = XmlConvert.ToDateTime(s);
于 2012-10-29T10:13:45.767 回答
2

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

要了解有关日期和时间 Fromat 字符串的更多信息,请参阅

于 2012-10-29T10:14:49.330 回答
2

尝试使用:

DateTime.ParseExact Method

例如。

 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 

日期时间解析(字符串)

于 2012-10-29T10:14:55.730 回答
1

有一个日期时间标准格式列表:http: //msdn.microsoft.com/en-us/library/az4se3k1.aspx

而且您始终可以编写自定义格式:http: //msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

具体来说,您的格式似乎与“往返”格式相匹配:http: //msdn.microsoft.com/en-us/library/az4se3k1.aspx#Roundtrip

于 2012-10-29T10:11:48.697 回答
1

只需使用DateTime'sParse方法...

var date = DateTime.Parse("2012-10-29T08:45:00.000");
于 2012-10-29T10:13:14.147 回答
1
string strDt = "2012-10-29T08:45:00.000";
DateTime dt = DateTime.Parse (strDt);
string strDate = dt.ToString ("yyyyMMdd");
于 2012-10-29T10:13:40.327 回答
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);
}
于 2012-10-29T11:42:19.867 回答
0

使用这个这可能会有所帮助

使用系统;使用 System.Collections.Generic;使用 System.ComponentModel;使用 System.Data;使用 System.Drawing;使用 System.Text;使用 System.Windows.Forms;

命名空间 DateTimeConvert { public partial class Form1 : Form { public 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>";
        }
    }
} }
于 2012-11-05T07:24:41.047 回答