|
|
#region Apache License Version 2.0
|
|
|
/*----------------------------------------------------------------
|
|
|
|
|
|
Copyright 2022 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
|
|
|
except in compliance with the License. You may obtain a copy of the License at
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software distributed under the
|
|
|
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
|
|
either express or implied. See the License for the specific language governing permissions
|
|
|
and limitations under the License.
|
|
|
|
|
|
Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
|
|
|
|
|
|
----------------------------------------------------------------*/
|
|
|
#endregion Apache License Version 2.0
|
|
|
|
|
|
/*----------------------------------------------------------------
|
|
|
Copyright (C) 2022 Senparc
|
|
|
|
|
|
文件名:TenPayDateTimeHelper
|
|
|
文件功能描述:微信支付 V3 指定的符合 ISO 8601 要求格式的日期时间帮助类
|
|
|
|
|
|
|
|
|
创建标识:Senparc - 20210804
|
|
|
|
|
|
----------------------------------------------------------------*/
|
|
|
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace Senparc.Weixin.TenPayV3.Helpers
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 微信支付时间帮助类
|
|
|
/// </summary>
|
|
|
public static class TenPayDateTimeHelper
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 输出微信 V3 指定的符合 ISO 8601 要求格式的时间字符串
|
|
|
/// <para>文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay2_0.shtml</para>
|
|
|
/// </summary>
|
|
|
/// <param name="dateTime"></param>
|
|
|
/// <param name="keepMillionseconds">是否保留毫秒</param>
|
|
|
/// <returns></returns>
|
|
|
public static string ToTenPayDateTime(this DateTime dateTime, bool keepMillionseconds = true)
|
|
|
{
|
|
|
return dateTime.ToString($"yyyy-MM-ddTHH:mm:ss{(keepMillionseconds ? ".fff" : "")}zzz");//).ToString("yyyy-MM-ddTHH:mm:fff");
|
|
|
}
|
|
|
|
|
|
// TODO:新加入方法 待测试可靠性
|
|
|
public static DateTime PraseDateTimeFromString(string tenPayDateTimeString, bool keepMillionseconds = true)
|
|
|
{
|
|
|
return DateTime.ParseExact(tenPayDateTimeString, $"yyyy-MM-ddTHH:mm:ss{(keepMillionseconds ? ".fff" : "")}zzz", System.Globalization.CultureInfo.InvariantCulture);
|
|
|
}
|
|
|
}
|
|
|
}
|