@@ -69,22 +69,25 @@ public static (string text, string range, string glyph, int index) GetFriendlyTi
69
69
var today = DateTime . Today ;
70
70
71
71
var diff = t - dt ;
72
- if ( t . Month == t2 . Month && t . Day == t2 . Day )
72
+ var y = t . AddDays ( - 1 ) ;
73
+ var w = t . AddDays ( diff . Days * - 1 ) ;
74
+
75
+ if ( t . Month == t2 . Month && t . Day == t2 . Day && t . Year == t2 . Year )
73
76
{
74
77
return ( "ItemTimeText_Today" . GetLocalized ( ) , today . ToUserDateString ( ) , "\ue184 " , 0 ) ;
75
78
}
76
79
77
- if ( t . Month == t2 . Month && t . Day - t2 . Day < 2 )
80
+ if ( y . Month == t2 . Month && y . Day == t2 . Day && y . Year == t2 . Year )
78
81
{
79
82
return ( "ItemTimeText_Yesterday" . GetLocalized ( ) , today . Subtract ( TimeSpan . FromDays ( 1 ) ) . ToUserDateString ( ) , "\ue161 " , 1 ) ;
80
83
}
81
84
82
- if ( diff . Days <= 7 && t . GetWeekOfYear ( ) == t2 . GetWeekOfYear ( ) )
85
+ if ( diff . Days <= 7 && w . GetWeekOfYear ( ) == t2 . GetWeekOfYear ( ) && w . Year == t2 . Year )
83
86
{
84
87
return ( "ItemTimeText_ThisWeek" . GetLocalized ( ) , t . Subtract ( TimeSpan . FromDays ( ( int ) t . DayOfWeek ) ) . ToUserDateString ( ) , "\uE162 " , 2 ) ;
85
88
}
86
89
87
- if ( diff . Days <= 14 && t . GetWeekOfYear ( ) - 1 == t2 . GetWeekOfYear ( ) )
90
+ if ( diff . Days <= 14 && w . GetWeekOfYear ( ) == t2 . GetWeekOfYear ( ) && w . Year == t2 . Year )
88
91
{
89
92
return ( "ItemTimeText_LastWeek" . GetLocalized ( ) , t . Subtract ( TimeSpan . FromDays ( ( int ) t . DayOfWeek + 7 ) ) . Date . ToShortDateString ( ) , "\uE162 " , 3 ) ;
90
93
}
@@ -94,7 +97,7 @@ public static (string text, string range, string glyph, int index) GetFriendlyTi
94
97
return ( "ItemTimeText_ThisMonth" . GetLocalized ( ) , t . Subtract ( TimeSpan . FromDays ( t . Day - 1 ) ) . ToUserDateString ( ) , "\ue163 " , 4 ) ;
95
98
}
96
99
97
- if ( t . Year == t2 . Year && t . Month - 1 == t2 . Month )
100
+ if ( t . AddMonths ( - 1 ) . Year == t2 . Year && t . AddMonths ( - 1 ) . Month == t2 . Month )
98
101
{
99
102
return ( "ItemTimeText_LastMonth" . GetLocalized ( ) , t . Subtract ( TimeSpan . FromDays ( t . Day - 1 + calendar . GetDaysInMonth ( t . Year , t . Month - 1 ) ) ) . ToUserDateString ( ) , "\ue163 " , 5 ) ;
100
103
}
@@ -136,4 +139,4 @@ public static string ToUserDateString(this DateTime t)
136
139
return t . ToShortDateString ( ) ;
137
140
}
138
141
}
139
- }
142
+ }
0 commit comments