Переглянути джерело

增加第三方时间模块

zhangdongming 3 роки тому
батько
коміт
0be37a34cd
2 змінених файлів з 27 додано та 17 видалено
  1. 18 2
      Controller/DetectControllerV2.py
  2. 9 15
      Object/utils/LocalDateTimeUtil.py

+ 18 - 2
Controller/DetectControllerV2.py

@@ -11,6 +11,7 @@
 @file: DetectController.py
 @Contact: chanjunkai@163.com
 """
+import calendar
 import datetime
 import json
 import logging
@@ -21,6 +22,7 @@ import apns2
 import boto3
 import botocore
 import jpush as jpush
+import pendulum
 from botocore import client
 from django.http import JsonResponse
 from django.views.generic.base import View
@@ -166,8 +168,22 @@ class NotificationView(View):
             logger.info('uid={}'.format(uid))
             logger.info(redis_list)
             new_device_info_list = []
-            local_date_now = str(datetime.datetime.fromtimestamp(int(n_time)).date())
-            logger.info('日期{},时间戳{}'.format(local_date_now, n_time))
+            local_date_now = datetime.datetime.fromtimestamp(int(n_time))
+            logger.info('---设备事件,日期{},时间戳{}'.format(str(local_date_now.date()), n_time))
+
+            dt = datetime.date(local_date_now.year, local_date_now.month, local_date_now.day).weekday() + 1
+            logger.info('weekday{}'.format(dt))
+            dt = datetime.date(local_date_now.year, local_date_now.month, local_date_now.day).isoweekday()
+            logger.info('isoweekday{}'.format(dt))
+            dt = datetime.date(local_date_now.year, local_date_now.month, local_date_now.day).strftime("%A")
+            logger.info('strftime %A{}'.format(dt))
+            dt = calendar.weekday(local_date_now.year, local_date_now.month, local_date_now.day) + 1
+            logger.info('calendar'.format(dt))
+            dt = pendulum.parse(str(local_date_now.date())).day_of_week
+            dt = 7 if dt == 0 else dt
+            logger.info('pendulum:{}'.format(dt))
+            local_date_now = str(local_date_now.date())
+
             for up in redis_list:
                 push_type = up['push_type']
                 appBundleId = up['appBundleId']

+ 9 - 15
Object/utils/LocalDateTimeUtil.py

@@ -8,7 +8,9 @@
 # @File    : LocalDateTimeUtil.py
 # @Software: PyCharm
 import datetime
+import logging
 import time
+import pendulum
 
 
 def get_last_first_date_and_last_date(n):
@@ -62,23 +64,15 @@ def date_to_week(str_date):
     @param str_date 日期 例:2022-03-03
     @return: int 1-7
     """
+    logger = logging.getLogger('info')
     if str_date:
-        return datetime.datetime.strptime(str_date, "%Y-%m-%d").weekday() + 1
+        logger.info('-----进入日期转星期-----')
+        dt = pendulum.parse(str_date).day_of_week
+        dt = 7 if dt == 0 else dt
+        logger.info('---第三方模块星期{}'.format(dt))
+        return dt
     return datetime.datetime.now().weekday() + 1
 
 
 if __name__ == "__main__":
-    now_time = 1650211200
-    local_date_now = str(datetime.datetime.fromtimestamp(now_time).date())
-    print(now_time)
-    print(local_date_now)
-    week = date_to_week(local_date_now)
-    print(week)
-    dd = datetime.date.today()
-    print(type(dd))
-    dd = str(dd)
-    print(type(dd))
-    week = date_to_week('2022-03-03')
-    print(week)
-    start_time, end_time = get_today_date(True)
-    print('--- start_time = {} end_time = {}'.format(start_time, end_time))
+    print('')