@@ -6,6 +6,7 @@ use crate::api::news::get_list::NewsEntry;
6
6
use crate :: api:: post:: get_one:: PostEntry ;
7
7
use crate :: api:: user:: info:: UserInfo ;
8
8
use crate :: infra:: iter:: IteratorExt ;
9
+ use crate :: infra:: time:: patch_rfc3339;
9
10
use anyhow:: Result ;
10
11
use chrono:: DateTime ;
11
12
use colored:: Colorize ;
@@ -59,9 +60,11 @@ pub fn list_ing(ing_list: &Result<Vec<(IngEntry, Vec<IngCommentEntry>)>>, rev: b
59
60
. iter ( )
60
61
. dyn_rev ( rev)
61
62
. for_each ( |( ing, comment_list) | {
62
- let create_time = DateTime :: parse_from_rfc3339 ( & format ! ( "{}Z" , ing. create_time) )
63
- . map ( |dt| dt. format ( "%m-%d %H:%M" ) . to_string ( ) )
64
- . unwrap ( ) ;
63
+ let create_time = {
64
+ let rfc3339 = patch_rfc3339 ( & ing. create_time ) ;
65
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
66
+ dt. format ( "%m-%d %H:%M" ) . to_string ( )
67
+ } ;
65
68
66
69
print ! ( "{}" , create_time. dimmed( ) ) ;
67
70
if ing. is_lucky {
@@ -141,10 +144,18 @@ pub fn show_post_meta(entry: &Result<PostEntry>) {
141
144
println ! ( "Tags {}" , tags_text) ;
142
145
}
143
146
}
144
- let create_time = DateTime :: parse_from_rfc3339 ( & format ! ( "{}Z" , entry. create_time) ) . unwrap ( ) ;
145
- println ! ( "Create {}" , create_time. format( "%Y/%m/%d %H:%M" ) ) ;
146
- let modify_time = DateTime :: parse_from_rfc3339 ( & format ! ( "{}Z" , entry. create_time) ) . unwrap ( ) ;
147
- println ! ( "Modify {}" , modify_time. format( "%Y/%m/%d %H:%M" ) ) ;
147
+ let create_time = {
148
+ let rfc3339 = patch_rfc3339 ( & entry. create_time ) ;
149
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
150
+ dt. format ( "%Y-%m-%d %H:%M" )
151
+ } ;
152
+ println ! ( "Create {}" , create_time) ;
153
+ let modify_time = {
154
+ let rfc3339 = patch_rfc3339 ( & entry. modify_time ) ;
155
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
156
+ dt. format ( "%Y-%m-%d %H:%M" )
157
+ } ;
158
+ println ! ( "Modify {}" , modify_time) ;
148
159
println ! ( "Link https:{}" , entry. url) ;
149
160
}
150
161
@@ -208,9 +219,11 @@ pub fn list_news(news_list: &Result<Vec<NewsEntry>>, rev: bool) {
208
219
. iter ( )
209
220
. dyn_rev ( rev)
210
221
. for_each ( |news| {
211
- let create_time = DateTime :: parse_from_rfc3339 ( & format ! ( "{}Z" , news. create_time) )
212
- . map ( |dt| dt. format ( "%m-%d %H:%M" ) . to_string ( ) )
213
- . unwrap ( ) ;
222
+ let create_time = {
223
+ let rfc3339 = patch_rfc3339 ( & news. create_time ) ;
224
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
225
+ dt. format ( "%Y-%m-%d %H:%M" ) . to_string ( )
226
+ } ;
214
227
215
228
let url = format ! ( "https://news.cnblogs.com/n/{}" , news. id) ;
216
229
println ! ( "{} {}" , create_time. dimmed( ) , url. dimmed( ) , ) ;
0 commit comments