DateTimeHelper
C# datetime日期处理类,日期转换
C# 全选
using System;
namespace Senparc.CO2NET.Helpers
{
    /// <summary>
    /// 微信日期处理帮助类
    /// </summary>
    public class DateTimeHelper
    {
        /// <summary>
        /// Unix起始时间
        /// </summary>
        public readonly static DateTimeOffset BaseTime;
        static DateTimeHelper()
        {
            DateTimeHelper.BaseTime = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
        }
        public DateTimeHelper()
        {
        }
        /// <summary>
        /// 转换微信DateTime时间到C#时间
        /// </summary>
        /// <param name="dateTimeFromXml">微信DateTime</param>
        /// <returns></returns>
        public static DateTime GetDateTimeFromXml(long dateTimeFromXml)
        {
            return DateTimeHelper.GetDateTimeOffsetFromXml(dateTimeFromXml).LocalDateTime;
        }
        /// <summary>
        /// 转换微信DateTime时间到C#时间
        /// </summary>
        /// <param name="dateTimeFromXml">微信DateTime</param>
        /// <returns></returns>
        public static DateTime GetDateTimeFromXml(string dateTimeFromXml)
        {
            return DateTimeHelper.GetDateTimeFromXml(Int64.Parse(dateTimeFromXml));
        }
        /// <summary>
        /// 转换微信DateTimeOffset时间到C#时间
        /// </summary>
        /// <param name="dateTimeFromXml">微信DateTime</param>
        /// <returns></returns>
        public static DateTimeOffset GetDateTimeOffsetFromXml(long dateTimeFromXml)
        {
            return DateTimeHelper.BaseTime.AddSeconds((double)dateTimeFromXml).ToLocalTime();
        }
        /// <summary>
        /// 转换微信DateTimeOffset时间到C#时间
        /// </summary>
        /// <param name="dateTimeFromXml">微信DateTime</param>
        /// <returns></returns>
        public static DateTimeOffset GetDateTimeOffsetFromXml(string dateTimeFromXml)
        {
            return DateTimeHelper.GetDateTimeFromXml(Int64.Parse(dateTimeFromXml));
        }
        /// <summary>
        /// 获取Unix时间戳
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static long GetUnixDateTime(DateTimeOffset dateTime)
        {
            return (long)(dateTime - DateTimeHelper.BaseTime).TotalSeconds;
        }
        /// <summary>
        /// 获取Unix时间戳
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static long GetUnixDateTime(DateTime dateTime)
        {
            return (long)(dateTime.ToUniversalTime() - DateTimeHelper.BaseTime).TotalSeconds;
        }
        /// <summary>
        /// 获取微信DateTime(UNIX时间戳)
        /// </summary>
        /// <param name="dateTime">时间</param>
        /// <returns></returns>
        [Obsolete("请使用 GetUnixDateTime(dateTime) 方法")]
        public static long GetWeixinDateTime(DateTime dateTime)
        {
            return DateTimeHelper.GetUnixDateTime(dateTime);
        }
    }
}版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
CommonCode 管理员  
