OSDN Git Service

FormattedEvent.CreatedAtの型をDateTimeUtcに変更
authorKimura Youichi <kim.upsilon@bucyou.net>
Tue, 8 May 2018 02:05:54 +0000 (11:05 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Wed, 9 May 2018 01:42:56 +0000 (10:42 +0900)
OpenTween.Tests/DateTimeUtcTest.cs
OpenTween/DateTimeUtc.cs
OpenTween/EventViewerDialog.cs
OpenTween/Twitter.cs

index cbcebc8..9158df2 100644 (file)
@@ -146,6 +146,15 @@ namespace OpenTween
         }
 
         [Fact]
+        public void ToString_Test()
+        {
+            var datetime = new DateTime(2018, 5, 6, 11, 22, 33, 111, DateTimeKind.Utc);
+            var utc = new DateTimeUtc(datetime);
+
+            Assert.Equal(datetime.ToString(), utc.ToString());
+        }
+
+        [Fact]
         public void ToString_FormatTest()
         {
             var utc = new DateTimeUtc(2018, 5, 6, 11, 22, 33, 111);
@@ -154,7 +163,16 @@ namespace OpenTween
         }
 
         [Fact]
-        public void ToLocalString_FormatTest()
+        public void ToLocalTimeString_Test()
+        {
+            var datetime = new DateTime(2018, 5, 6, 11, 22, 33, 111, DateTimeKind.Local);
+            var utc = new DateTimeUtc(datetime.ToUniversalTime());
+
+            Assert.Equal(datetime.ToString(), utc.ToLocalTimeString());
+        }
+
+        [Fact]
+        public void ToLocalTimeString_FormatTest()
         {
             var localDatetime = new DateTime(2018, 5, 6, 11, 22, 33, 111, DateTimeKind.Local);
             var utc = new DateTimeUtc(localDatetime.ToUniversalTime());
index a28ca03..e5a1149 100644 (file)
@@ -95,11 +95,14 @@ namespace OpenTween
             => this.datetime.GetHashCode();
 
         public override string ToString()
-            => this.ToDateTimeOffset().ToString();
+            => this.ToString("G");
 
         public string ToString(string format)
             => this.ToDateTimeOffset().ToString(format);
 
+        public string ToLocalTimeString()
+            => this.ToLocalTimeString("G");
+
         public string ToLocalTimeString(string format)
             => this.ToLocalTime().ToString(format);
 
index a954a2e..86d6d14 100644 (file)
@@ -80,7 +80,7 @@ namespace OpenTween
 
         private ListViewItem CreateListViewItem(Twitter.FormattedEvent source)
         {
-            string[] s = { source.CreatedAt.ToString(), source.Event.ToUpper(CultureInfo.CurrentCulture), source.Username, source.Target };
+            string[] s = { source.CreatedAt.ToLocalTimeString(), source.Event.ToUpper(CultureInfo.CurrentCulture), source.Username, source.Target };
             return new ListViewItem(s);
         }
 
@@ -295,7 +295,7 @@ namespace OpenTween
             foreach (Twitter.FormattedEvent _event in source)
             {
                 sw.WriteLine(_event.Eventtype + "\t" +
-                             "\"" + _event.CreatedAt + "\"\t" +
+                             "\"" + _event.CreatedAt.ToLocalTimeString() + "\"\t" +
                              _event.Event + "\t" +
                              _event.Username + "\t" +
                              _event.Target + "\t" +
index b7b2f3d..74ebf13 100644 (file)
@@ -1839,7 +1839,7 @@ namespace OpenTween
         public class FormattedEvent
         {
             public MyCommon.EVENTTYPE Eventtype { get; set; }
-            public DateTime CreatedAt { get; set; }
+            public DateTimeUtc CreatedAt { get; set; }
             public string Event { get; set; }
             public string Username { get; set; }
             public string Target { get; set; }
@@ -2045,7 +2045,7 @@ namespace OpenTween
             {
                 Eventtype = MyCommon.EVENTTYPE.Retweet,
                 Event = "retweet",
-                CreatedAt = MyCommon.DateTimeParse(xElm.XPathSelectElement("/created_at").Value),
+                CreatedAt = new DateTimeUtc(MyCommon.DateTimeParse(xElm.XPathSelectElement("/created_at").Value).ToUniversalTime()),
                 IsMe = xElm.XPathSelectElement("/user/id_str").Value == this.UserId.ToString(),
                 Username = xElm.XPathSelectElement("/user/screen_name").Value,
                 Target = string.Format("@{0}:{1}", new[]
@@ -2074,7 +2074,7 @@ namespace OpenTween
             }
 
             var evt = new FormattedEvent();
-            evt.CreatedAt = MyCommon.DateTimeParse(eventData.CreatedAt);
+            evt.CreatedAt = new DateTimeUtc(MyCommon.DateTimeParse(eventData.CreatedAt).ToUniversalTime());
             evt.Event = eventData.Event;
             evt.Username = eventData.Source.ScreenName;
             evt.IsMe = evt.Username.ToLowerInvariant().Equals(this.Username.ToLowerInvariant());