1313from functools import reduce
1414from io import BytesIO
1515from typing import Dict
16-
16+ import pytz
1717import openpyxl
1818from django .core import validators
1919from django .core .cache import caches
4646from setting .models import Model
4747from setting .models_provider import get_model_credential
4848from smartdoc .conf import PROJECT_DIR
49+ from smartdoc .settings import TIME_ZONE
4950
5051chat_cache = caches ['chat_cache' ]
5152
@@ -208,7 +209,6 @@ def to_row(row: Dict):
208209 [])) for
209210 key , node in search_dataset_node_list ])
210211 improve_paragraph_list = row .get ('improve_paragraph_list' )
211-
212212 vote_status_map = {'-1' : '未投票' , '0' : '赞同' , '1' : '反对' }
213213 return [str (row .get ('chat_id' )), row .get ('abstract' ), row .get ('problem_text' ), padding_problem_text ,
214214 row .get ('answer_text' ), vote_status_map .get (row .get ('vote_status' )), reference_paragraph_len ,
@@ -217,7 +217,7 @@ def to_row(row: Dict):
217217 f"{ improve_paragraph_list [index ].get ('title' )} \n { improve_paragraph_list [index ].get ('content' )} "
218218 for index in range (len (improve_paragraph_list ))]),
219219 row .get ('message_tokens' ) + row .get ('answer_tokens' ), row .get ('run_time' ),
220- str (row .get ('create_time' ).strftime ('%Y-%m-%d %H:%M:%S' )
220+ str (row .get ('create_time' ).astimezone ( pytz . timezone ( TIME_ZONE )). strftime ('%Y-%m-%d %H:%M:%S' )
221221 )]
222222
223223 def export (self , data , with_valid = True ):
@@ -256,6 +256,10 @@ def stream_response():
256256 cell = worksheet .cell (row = row_idx , column = col_idx )
257257 if isinstance (value , str ):
258258 value = re .sub (ILLEGAL_CHARACTERS_RE , '' , value )
259+ if isinstance (value , datetime .datetime ):
260+ eastern = pytz .timezone (TIME_ZONE )
261+ c = datetime .timezone (eastern ._utcoffset )
262+ value = value .astimezone (c )
259263 cell .value = value
260264
261265 output = BytesIO ()
0 commit comments