Cách định dạng ngày JSON thu được từ twitter thành C# DateTime? Đây là định dạng của ngày tôi nhận được:Ngày JSON từ tweeter sang định dạng C#
"Tue, 19 Feb 2013 13:06:17 +0000"
Tôi có thể làm điều đó với JSON.NET không?
Cách định dạng ngày JSON thu được từ twitter thành C# DateTime? Đây là định dạng của ngày tôi nhận được:Ngày JSON từ tweeter sang định dạng C#
"Tue, 19 Feb 2013 13:06:17 +0000"
Tôi có thể làm điều đó với JSON.NET không?
Giải Quyết với việc sử dụng DateTime.ParseExact
Cảm ơn bạn đã liên kết, lần sau hãy đăng định dạng ngày ở đây, phân tích ngày twitter là một tác vụ phổ biến. – Nanoc
Đó là DateTimeOffset không DateTime. Sau đây nên làm việc.
DateTimeOffset parsed = DateTimeOffset.Parse("Tue, 19 Feb 2013 13:06:17 +0000");
Một phần mã từ câu trả lời của luồng.
public const string Const_TwitterDateTemplate = "ddd MMM dd HH:mm:ss +ffff yyyy";
DateTime createdAt = DateTime.ParseExact((string)jo["created_at"], Const_TwitterDateTemplate, new System.Globalization.CultureInfo("en-US"));
Câu trả lời ở trên sử dụng công cụ định dạng ffff dường như trả lại kết quả chính xác, nhưng về mặt kỹ thuật điều này là sai. ffff là định dạng thông số cho mười phần nghìn giây, và số +0000 trong một ngày Twitter cho biết số giờ và phút bù trừ từ UTC. Xem định dạng dưới đây:
string twitterTime = "Wed Feb 22 15:49:01 +0000 2017";
string twitterTimeformat = "ddd MMM dd HH:mm:ss zzz yyyy";
DateTime dateTime = DateTime.ParseExact(twitterTime, twitterTimeformat,
CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
Console.WriteLine(dateTime);
kết quả: 2017/02/22 15:49:01
Bạn có thể chỉnh sửa DateTimeStyles liệt kê để trả lại thời gian địa phương thay vì tính theo giờ UTC nếu muốn.
Điều gì xảy ra khi bạn làm 'DateTime.Parse ("Tue, 19 tháng 2 năm 2013 13:06:17 +0000")'? –
Duplicate http://stackoverflow.com/questions/1551662/c-sharp-parse-json-date – Pete