2014-04-28 12 views
5

Tôi có đoạn code sau đây để chuyển đổi chuỗi thành datetime ..chuỗi để chuyển đổi datetime sử dụng System.Globalization.CultureInfo.InvariantCulture

string updateDateTime = "1398398552695"; 

double temp = Double.Parse(updateDateTime); 
TimeSpan sp = TimeSpan.FromMilliseconds(temp); 
DateTime dt = new DateTime(1970, 1, 1).Add(sp); 
updateDateTime = dt.ToString("yyyy-MM-dd HH':'mm':'ss");//final date time 

string tt = dt.ToString("yyyy-MM-dd HH':'mm':'ss"); 
DateTime output1; 
DateTime.TryParseExact(tt, "yyyy-MM-dd HH':'mm':'ss", System.Globalization.CultureInfo.InvariantCulture,System.Globalization.DateTimeStyles.None,out output1); 

DateTime output2 = DateTime.ParseExact(tt, "yyyy-MM-dd HH':'mm':'ss", System.Globalization.CultureInfo.InvariantCulture); 

Console.WriteLine(dt); 
Console.WriteLine(tt); 
Console.WriteLine(output1); 
Console.WriteLine(output2); 

Nếu chúng ta thấy đầu ra nó sẽ là một cái gì đó như thế này ..

25/04/2014 04:02:32//dt 
2014-04-25 04:02:32//tt 
25/04/2014 04:02:32//output1 
25/04/2014 04:02:32//output2 

vấn đề là nếu chúng ta thấy output1 và output2 nó thực sự không cho kết quả theo định dạng yyyy-MM-dd và tôi cần giá trị ở định dạng này và trong loại datetime chỉ coz trong cơ sở dữ liệu (MySQL) Định dạng. Vì vậy, tôi muốn đầu ra ở định dạng 2014-04-25 04:02:32 nhưng nó là chuỗi và tôi cần phải chuyển đổi nó thành datetime.

Lưu ý: Có rất nhiều câu hỏi liên quan đến vấn đề này ở đây trong stackoverflow nhưng danh tiếng của tôi là không đủ để nhận xét về họ vì vậy tôi đã phải tạo ra câu hỏi mới này ..

Trả lời

2

datetime của bạn được xuất hiện theo cách này bởi vì trong bạn Region Settings trong Control Panel Định dạng ngày và giờ được đặt theo cách này.

Xin vui lòng đến Control Panel và Chọn Region và trong tab Formats Chọn giá trị đúng hoặc khác đi Cài đặt bổ sung để tùy chỉnh Date and Time format.

0

trả lời cho vấn đề này được giấu trong mã của bạn

ngay sau khi mã này

DateTime.TryParseExact(tt, "yyyy-MM-dd HH':'mm':'ss",System.Globalization.CultureInfo.InvariantCulture,System.Globalization.DateTimeStyles.None,out output1); 

thêm

string od1 = output1.ToString("yyyy-MM-dd HH':'mm':'ss"); 

Tôi hy vọng điều này sẽ giúp

Các vấn đề liên quan