ConvertHelper类

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Central.XA.Common.Utilities
{
    /// <summary>
    /// Convert helper.
    /// </summary>
    public class ConvertHelper
    {
        /// <summary>
        /// Convert java long type to C# datetime.
        /// </summary>
        /// <param name="javaLongTime">Java long time.</param>
        /// <returns>Return datetime type.</returns>
        public static DateTime JavaLongToDateTime(long javaLongTime)
        {
            ////java长整型日期,毫秒为单位 
            DateTime datetime1970 = new DateTime(1970, 1, 1, 0, 0, 0);

            ////1970年1月1日刻度 
            long tricks1970 = datetime1970.Ticks;

            ////日志日期刻度 
            long timeTricks = tricks1970 + (javaLongTime * 10000);

            int utcTimeArea = (int)(DateTime.Now - DateTime.UtcNow).TotalHours;

            ////转化为DateTime
            DateTime dt = new DateTime(timeTricks).AddHours(utcTimeArea);

            return dt;
        }

        /// <summary>
        /// Convert C# datetime type to java long datetime.
        /// </summary>
        /// <param name="datetime">C# datetime.</param>
        /// <returns>Return java long datetime.</returns>
        public static long DateTimeToJavaLong(DateTime datetime)
        {
            ////java长整型日期,毫秒为单位 
            DateTime datetime1970 = new DateTime(1970, 1, 1, 0, 0, 0);

            ////1970年1月1日刻度 
            long tricks1970 = datetime1970.Ticks;

            int utcTimeArea = (int)(DateTime.Now - DateTime.UtcNow).TotalHours;

            ////日期刻度 
            long timeTricks = datetime.AddHours(-utcTimeArea).Ticks;

            ////转化为Java LongTime
            long longdt = (timeTricks - tricks1970) / 10000;

            return longdt;
        }

        /// <summary>
        /// Convert DateTime to start date.
        /// </summary>
        /// <param name="dateTime">Date time.</param>
        /// <returns>Return start date.</returns>
        public static string ToStartDate(DateTime dateTime)
        {
            return dateTime.ToString("MM/dd/yyyy") + " 00:00:00";
        }

        /// <summary>
        /// Convert DateTime to end date.
        /// </summary>
        /// <param name="dateTime">Date time.</param>
        /// <returns>Return end date.</returns>
        public static string ToEndDate(DateTime dateTime)
        {
            return dateTime.ToString("MM/dd/yyyy") + " 23:59:59";
        }

        /// <summary>
        /// Convert DateTime to start date.
        /// </summary>
        /// <param name="dateTime">Date time.</param>
        /// <returns>Return start date.</returns>
        public static string ToStartDate(string dateTime)
        {
            return ToStartDate(Convert.ToDateTime(dateTime));
        }

        /// <summary>
        /// Convert DateTime to end date.
        /// </summary>
        /// <param name="dateTime">Date time.</param>
        /// <returns>Return end date.</returns>
        public static string ToEndDate(string dateTime)
        {
            return ToEndDate(Convert.ToDateTime(dateTime));
        }

        /// <summary>
        /// Convert DateTime to start date.
        /// </summary>
        /// <param name="dateTime">Date time.</param>
        /// <returns>Return start date.</returns>
        public static DateTime ToDateTimeStartDate(string dateTime)
        {
            return Convert.ToDateTime(ToStartDate(dateTime));
        }

        /// <summary>
        /// Convert DateTime to end date.
        /// </summary>
        /// <param name="dateTime">Date time.</param>
        /// <returns>Return end date.</returns>
        public static DateTime ToDateTimeEndDate(string dateTime)
        {
            return Convert.ToDateTime(ToEndDate(dateTime));
        }

        /// <summary>
        /// Convert date and time to new datetime.
        /// </summary>
        /// <param name="date">Date string.</param>
        /// <param name="time">Time string.</param>
        /// <returns>Date time.</returns>
        public static DateTime ToDateTime(string date, string time)
        {
            var nowDate = Convert.ToDateTime(date).ToString("yyyy/MM/dd");
            var nowTime = Convert.ToDateTime(time).ToString("HH:mm:ss");

            return Convert.ToDateTime(nowDate + " " + nowTime);
        }
    }
}

 

posted @ 2014-09-05 16:48  lvxin  阅读(568)  评论(0)    收藏  举报