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开发框架网发布内容,转载请附上原文出处连接
管理员
下一篇:GpsHelper
评论列表

发表评论

评论内容
昵称:
关联文章