From d341f3ce37e7d48951e17b29ef4b60da007d1aa5 Mon Sep 17 00:00:00 2001 From: egzosn Date: Wed, 21 Nov 2018 18:08:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/egzosn/pay/ali/api/AliPayService.java | 7 +-- .../com/egzosn/pay/common/util/DateUtils.java | 59 +++++++++++++++++++ 2 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 pay-java-common/src/main/java/com/egzosn/pay/common/util/DateUtils.java diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index f49ce24..3d94e2b 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -9,6 +9,7 @@ import com.egzosn.pay.common.bean.result.PayException; import com.egzosn.pay.common.exception.PayErrorException; import com.egzosn.pay.common.http.HttpConfigStorage; import com.egzosn.pay.common.http.UriVariables; +import com.egzosn.pay.common.util.DateUtils; import com.egzosn.pay.common.util.MatrixToImageWriter; import com.egzosn.pay.common.util.sign.SignUtils; import com.egzosn.pay.common.util.str.StringUtils; @@ -200,7 +201,7 @@ public class AliPayService extends BasePayService { } } if (null != order.getExpirationTime()) { - bizContent.put("timeout_express", ((order.getExpirationTime().getTime() - System.currentTimeMillis()) / 1000 / 60 + "m")); + bizContent.put("timeout_express", DateUtils.minutesRemaining(order.getExpirationTime()) + "m"); } orderInfo.put("biz_content", JSON.toJSONString(bizContent)); return orderInfo; @@ -217,9 +218,7 @@ public class AliPayService extends BasePayService { orderInfo.put("app_id", payConfigStorage.getAppid()); orderInfo.put("method", transactionType.getMethod()); orderInfo.put("charset", payConfigStorage.getInputCharset()); - DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - df.setTimeZone(TimeZone.getTimeZone("GMT+8")); - orderInfo.put("timestamp", df.format(new Date())); + orderInfo.put("timestamp", DateUtils.format(new Date())); orderInfo.put("version", "1.0"); return orderInfo; } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/util/DateUtils.java b/pay-java-common/src/main/java/com/egzosn/pay/common/util/DateUtils.java new file mode 100644 index 0000000..812cae9 --- /dev/null +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/util/DateUtils.java @@ -0,0 +1,59 @@ +package com.egzosn.pay.common.util; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; + +/** + * 日期转换运算工具 + * @author egan + *
+ * email egzosn@gmail.com
+ * date 2018-11-21 16:43:20
+ * 
+ */ +public final class DateUtils { + public static final DateFormat YYYY_MM_DD_HH_MM_SS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + public static final DateFormat YYYY_MM_DD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + static { + YYYY_MM_DD_HH_MM_SS.setTimeZone(TimeZone.getTimeZone("GMT+8")); + YYYY_MM_DD.setTimeZone(TimeZone.getTimeZone("GMT+8")); + } + + public static final String format(Date date){ + return YYYY_MM_DD_HH_MM_SS.format(date); + } + + public static final String formatDay(Date date){ + return YYYY_MM_DD.format(date); + } + + /** + * 剩余分钟数 + * @param date 结束点日期 + * @return 分钟数 + */ + public static final long minutesRemaining(Date date){ + return (date.getTime() - System.currentTimeMillis()) / 1000 / 60 ; + } + + /** + * 剩余小时 + * @param date 结束点日期 + * @return 小时数 + */ + public static final long remainingHours(Date date){ + return minutesRemaining(date) / 60 ; + } + /** + * 剩余天数 + * @param date 结束点日期 + * @return 天数 + */ + public static final long remainingDays(Date date){ + return remainingHours(date) / 24 ; + } + +}