修复:手动重发消息中UTC时间未转换本地时间 (#122) (#127)

pull/129/head^2
Naccl 3 years ago committed by GitHub
parent a3617eefa5
commit 32efe289b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -14,7 +14,6 @@ import static com.idormy.sms.forwarder.model.SenderModel.TYPE_SMS;
import static com.idormy.sms.forwarder.model.SenderModel.TYPE_TELEGRAM;
import static com.idormy.sms.forwarder.model.SenderModel.TYPE_WEB_NOTIFY;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Handler;
import android.util.Log;
@ -41,12 +40,11 @@ import com.idormy.sms.forwarder.utils.LogUtil;
import com.idormy.sms.forwarder.utils.NetUtil;
import com.idormy.sms.forwarder.utils.RuleUtil;
import com.idormy.sms.forwarder.utils.SettingUtil;
import com.idormy.sms.forwarder.utils.TimeUtil;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
public class SendUtil {
private static final String TAG = "SendUtil";
@ -98,10 +96,9 @@ public class SendUtil {
*/
public static void resendMsgByLog(Context context, Handler handler, LogVo logVo) {
Log.d(TAG, logVo.toString());
@SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
Date date = new Date();
try {
date = sdf.parse(logVo.getTime());
date = TimeUtil.utc2LocalDate(logVo.getTime());
} catch (ParseException e) {
Log.e(TAG, "SimpleDateFormat parse error", e);
}

@ -57,15 +57,26 @@ public class TimeUtil {
* @param utcTime UTC
* @return
*/
public static String utc2Local(String utcTime) {
public static Date utc2LocalDate(String utcTime) throws ParseException {
String utcTimePatten = "yyyy-MM-dd HH:mm:ss";
String localTimePatten = "yyyy-MM-dd HH:mm:ss";
@SuppressLint("SimpleDateFormat") SimpleDateFormat utcFormatter = new SimpleDateFormat(utcTimePatten);
utcFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));//时区定义并进行时间获取
return utcFormatter.parse(utcTime);
}
/**
* :UTC
*
* @param utcTime UTC
* @return
*/
public static String utc2Local(String utcTime) {
String localTimePatten = "yyyy-MM-dd HH:mm:ss";
Date utcDate;
try {
utcDate = utcFormatter.parse(utcTime);
utcDate = utc2LocalDate(utcTime);
} catch (ParseException e) {
e.printStackTrace();
return utcTime;

Loading…
Cancel
Save