diff --git a/admin/views/settings/costcenter/costcenter.html b/admin/views/settings/costcenter/costcenter.html index 28b717ce..2853bacd 100644 --- a/admin/views/settings/costcenter/costcenter.html +++ b/admin/views/settings/costcenter/costcenter.html @@ -120,12 +120,11 @@ download="{{costfile.file_name}}">{{ costfile.file_name }} {{ costfile.status }} - {{ costfile.upload_datetime | date:'yyyy-MM-dd HH:mm'}} - + {{ costfile.upload_datetime}} {{'SETTING.RESTORE' | translate}} - {{'SETTING.DELETE' | translate}} diff --git a/admin/views/settings/knowledgefile/knowledgefile.html b/admin/views/settings/knowledgefile/knowledgefile.html index 2e0240d2..01c1fbdc 100644 --- a/admin/views/settings/knowledgefile/knowledgefile.html +++ b/admin/views/settings/knowledgefile/knowledgefile.html @@ -22,7 +22,7 @@ {{ knowledgefile.id }} {{ knowledgefile.file_name }} {{ knowledgefile.user_display_name }} - {{ knowledgefile.upload_datetime | date:'yyyy-MM-dd HH:mm'}} + {{ knowledgefile.upload_datetime }} {{'SETTING.RESTORE' | translate}} diff --git a/admin/views/settings/meter/meter.html b/admin/views/settings/meter/meter.html index 99c613ea..6c8de40d 100644 --- a/admin/views/settings/meter/meter.html +++ b/admin/views/settings/meter/meter.html @@ -310,7 +310,7 @@ {{ offlinemeterfile.status }} - {{ offlinemeterfile.upload_datetime | date:'yyyy-MM-dd HH:mm'}} + {{ offlinemeterfile.upload_datetime }} 0: for row in rows: - upload_datetime = row[3] - upload_datetime = upload_datetime.replace(tzinfo=timezone.utc) + upload_datetime_local = row[3].replace(tzinfo=timezone.utc) + timedelta(minutes=timezone_offset) meta_result = {"id": row[0], "file_name": row[1], "uuid": row[2], - "upload_datetime": upload_datetime.timestamp() * 1000, + "upload_datetime": upload_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "status": row[4]} result.append(meta_result) @@ -173,13 +176,15 @@ class CostFileItem: raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', description='API.COST_FILE_NOT_FOUND') - upload_datetime = row[3] - upload_datetime = upload_datetime.replace(tzinfo=timezone.utc) + timezone_offset = int(config.utc_offset[1:3]) * 60 + int(config.utc_offset[4:6]) + if config.utc_offset[0] == '-': + timezone_offset = -timezone_offset + upload_datetime_local = row[3].replace(tzinfo=timezone.utc) + timedelta(minutes=timezone_offset) result = {"id": row[0], "file_name": row[1], "uuid": row[2], - "upload_datetime": upload_datetime.timestamp() * 1000, + "upload_datetime": upload_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "status": row[4]} resp.body = json.dumps(result) diff --git a/myems-api/core/knowledgefile.py b/myems-api/core/knowledgefile.py index 75154c46..029e27dc 100644 --- a/myems-api/core/knowledgefile.py +++ b/myems-api/core/knowledgefile.py @@ -60,13 +60,10 @@ class KnowledgeFileCollection: base64_message = base64_encoded_data.decode('utf-8') upload_datetime_local = row['upload_datetime_utc'].replace(tzinfo=None) + \ timedelta(minutes=timezone_offset) - upload_datetime = row['upload_datetime_utc'] - upload_datetime = upload_datetime.replace(tzinfo=timezone.utc) meta_result = {"id": row['id'], "file_name": row['file_name'], "uuid": row['uuid'], - "upload_datetime": upload_datetime.timestamp() * 1000, - "upload_datetime_local": upload_datetime_local.isoformat(), + "upload_datetime": upload_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "user_display_name": user_dict.get(row['upload_user_uuid'], None), "file_size_bytes": sys.getsizeof(row['file_object']), "file_bytes_base64": base64_message @@ -221,13 +218,16 @@ class KnowledgeFileItem: raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', description='API.KNOWLEDGE_FILE_NOT_FOUND') - upload_datetime = row[3] - upload_datetime = upload_datetime.replace(tzinfo=timezone.utc) + timezone_offset = int(config.utc_offset[1:3]) * 60 + int(config.utc_offset[4:6]) + if config.utc_offset[0] == '-': + timezone_offset = -timezone_offset + + upload_datetime_local = row[3].replace(tzinfo=timezone.utc) + timedelta(minutes=timezone_offset) result = {"id": row[0], "file_name": row[1], "uuid": row[2], - "upload_datetime": upload_datetime.timestamp() * 1000, + "upload_datetime": upload_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "user_display_name": user_dict.get(row[4], None)} resp.body = json.dumps(result) diff --git a/myems-api/core/offlinemeterfile.py b/myems-api/core/offlinemeterfile.py index e992c9d8..c0a6dc0c 100644 --- a/myems-api/core/offlinemeterfile.py +++ b/myems-api/core/offlinemeterfile.py @@ -3,7 +3,7 @@ import json import mysql.connector import config import uuid -from datetime import datetime, timezone +from datetime import datetime, timezone, timedelta import os from core.userlogger import user_logger @@ -31,15 +31,18 @@ class OfflineMeterFileCollection: cursor.close() cnx.disconnect() + timezone_offset = int(config.utc_offset[1:3]) * 60 + int(config.utc_offset[4:6]) + if config.utc_offset[0] == '-': + timezone_offset = -timezone_offset + result = list() if rows is not None and len(rows) > 0: for row in rows: - upload_datetime = row[3] - upload_datetime = upload_datetime.replace(tzinfo=timezone.utc) + upload_datetime_local = row[3].replace(tzinfo=timezone.utc) + timedelta(minutes=timezone_offset) meta_result = {"id": row[0], "file_name": row[1], "uuid": row[2], - "upload_datetime": upload_datetime.timestamp() * 1000, + "upload_datetime": upload_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "status": row[4]} result.append(meta_result) @@ -175,13 +178,16 @@ class OfflineMeterFileItem: raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', description='API.OFFLINE_METER_FILE_NOT_FOUND') - upload_datetime = row[3] - upload_datetime = upload_datetime.replace(tzinfo=timezone.utc) + timezone_offset = int(config.utc_offset[1:3]) * 60 + int(config.utc_offset[4:6]) + if config.utc_offset[0] == '-': + timezone_offset = -timezone_offset + + upload_datetime_local = row[3].replace(tzinfo=timezone.utc) + timedelta(minutes=timezone_offset) result = {"id": row[0], "file_name": row[1], "uuid": row[2], - "upload_datetime": upload_datetime.timestamp() * 1000, + "upload_datetime": upload_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "status": row[4]} resp.body = json.dumps(result) diff --git a/web/src/components/MyEMS/KnowledgeBase/KnowledgeBase.js b/web/src/components/MyEMS/KnowledgeBase/KnowledgeBase.js index 6989ed40..ad5ee021 100644 --- a/web/src/components/MyEMS/KnowledgeBase/KnowledgeBase.js +++ b/web/src/components/MyEMS/KnowledgeBase/KnowledgeBase.js @@ -64,10 +64,10 @@ const KnowledgeBase = ({ setRedirect, setRedirectUrl, t }) => { json.forEach((currentValue, index) => { let report = {} report['id'] = json[index]['id']; - report['calendar'] = { month: json[index]['upload_datetime_local'].substring(5, 7), - day: json[index]['upload_datetime_local'].substring(8, 10) }; + report['calendar'] = { month: json[index]['upload_datetime'].substring(5, 7), + day: json[index]['upload_datetime'].substring(8, 10) }; report['title'] = json[index]['file_name']; - report['additional'] = t('Created Datetime') + ': ' + json[index]['upload_datetime_local'] + '
' + + report['additional'] = t('Created Datetime') + ': ' + json[index]['upload_datetime'] + '
' + t('File Size') + ': ' + (json[index]['file_size_bytes']/(1024*1024)).toFixed(2) + ' MB'; report['to'] = '#'; report['file_bytes_base64'] = json[index]['file_bytes_base64'];