소스 검색

替换IM SDK内文件,修改消息时间显示不正确问题

Pq 1 년 전
부모
커밋
fc04a76873
1개의 변경된 파일28개의 추가작업 그리고 33개의 파일을 삭제
  1. 28 33
      TUIKit/TIMCommon/timcommon/src/main/java/com/tencent/qcloud/tuikit/timcommon/util/DateTimeUtil.java

+ 28 - 33
TUIKit/TIMCommon/timcommon/src/main/java/com/tencent/qcloud/tuikit/timcommon/util/DateTimeUtil.java

@@ -1,9 +1,11 @@
 package com.tencent.qcloud.tuikit.timcommon.util;
 
 import android.content.Context;
+
 import com.tencent.qcloud.tuicore.TUIConfig;
 import com.tencent.qcloud.tuicore.TUIThemeManager;
 import com.tencent.qcloud.tuikit.timcommon.R;
+
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
@@ -40,35 +42,35 @@ public class DateTimeUtil {
             locale = TUIThemeManager.getInstance().getLocale(context);
         }
         String timeText;
-        Calendar calendar = Calendar.getInstance();
-        calendar.set(Calendar.HOUR_OF_DAY, 0);
-        calendar.set(Calendar.MINUTE, 0);
-        calendar.set(Calendar.SECOND, 0);
-        calendar.set(Calendar.MILLISECOND, 0);
-        calendar = Calendar.getInstance();
-        calendar.set(Calendar.DAY_OF_WEEK, 1);
-        calendar.set(Calendar.HOUR_OF_DAY, 0);
-        calendar.set(Calendar.MINUTE, 0);
-        calendar.set(Calendar.SECOND, 0);
-        calendar.set(Calendar.MILLISECOND, 0);
-        calendar = Calendar.getInstance();
-        calendar.set(Calendar.DAY_OF_YEAR, 1);
-        calendar.set(Calendar.HOUR_OF_DAY, 0);
-        calendar.set(Calendar.MINUTE, 0);
-        calendar.set(Calendar.SECOND, 0);
-        calendar.set(Calendar.MILLISECOND, 0);
-        long yearStartTimeInMillis = calendar.getTimeInMillis();
-        long dayStartTimeInMillis = calendar.getTimeInMillis();
-        long weekStartTimeInMillis = calendar.getTimeInMillis();
+        Calendar dayStartCalendar = Calendar.getInstance();
+        dayStartCalendar.set(Calendar.HOUR_OF_DAY, 0);
+        dayStartCalendar.set(Calendar.MINUTE, 0);
+        dayStartCalendar.set(Calendar.SECOND, 0);
+        dayStartCalendar.set(Calendar.MILLISECOND, 0);
+        Calendar weekStartCalendar = Calendar.getInstance();
+        weekStartCalendar.set(Calendar.DAY_OF_WEEK, 1);
+        weekStartCalendar.set(Calendar.HOUR_OF_DAY, 0);
+        weekStartCalendar.set(Calendar.MINUTE, 0);
+        weekStartCalendar.set(Calendar.SECOND, 0);
+        weekStartCalendar.set(Calendar.MILLISECOND, 0);
+        Calendar yearStartCalendar = Calendar.getInstance();
+        yearStartCalendar.set(Calendar.DAY_OF_YEAR, 1);
+        yearStartCalendar.set(Calendar.HOUR_OF_DAY, 0);
+        yearStartCalendar.set(Calendar.MINUTE, 0);
+        yearStartCalendar.set(Calendar.SECOND, 0);
+        yearStartCalendar.set(Calendar.MILLISECOND, 0);
+        long dayStartTimeInMillis = dayStartCalendar.getTimeInMillis();
+        long weekStartTimeInMillis = weekStartCalendar.getTimeInMillis();
+        long yearStartTimeInMillis = yearStartCalendar.getTimeInMillis();
         long outTimeMillis = date.getTime();
         if (outTimeMillis < yearStartTimeInMillis) {
-            timeText = String.format(locale, "%tD", date);
+            timeText = String.format(Locale.US, "%tD", date);
         } else if (outTimeMillis < weekStartTimeInMillis) {
-            timeText = String.format(locale, "%1$tm/%1$td", date);
+            timeText = String.format(Locale.US, "%1$tm/%1$td", date);
         } else if (outTimeMillis < dayStartTimeInMillis) {
             timeText = String.format(locale, "%tA", date);
         } else {
-            timeText = String.format(locale, "%tR", date);
+            timeText = String.format(Locale.US, "%tR", date);
         }
         return timeText;
     }
@@ -82,14 +84,7 @@ public class DateTimeUtil {
         if (date == null) {
             return "";
         }
-        Context context = TUIConfig.getAppContext();
-        Locale locale;
-        if (context == null) {
-            locale = Locale.getDefault();
-        } else {
-            locale = TUIThemeManager.getInstance().getLocale(context);
-        }
-        return String.format(locale, "%tR", date);
+        return String.format(Locale.US, "%tR", date);
     }
 
     public static String formatSeconds(long seconds) {
@@ -136,7 +131,7 @@ public class DateTimeUtil {
     }
 
     public static long getStringToDate(String dateString, String pattern) {
-        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
+        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, Locale.US);
         Date date = new Date();
         try {
             date = dateFormat.parse(dateString);
@@ -148,7 +143,7 @@ public class DateTimeUtil {
     }
 
     public static String getTimeStringFromDate(Date date, String pattern) {
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern, Locale.US);
         return simpleDateFormat.format(date);
     }
 }