zoukankan      html  css  js  c++  java
  • time_t到.NET的转换

    方法1:

    public DateTime UNIXtoDateTime(long seconds)

    {

      double secs = Convert.ToDouble(seconds);
    DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0).AddSeconds(secs);
    return System.TimeZone.CurrentTimeZone.ToLocalTime(dt);

    方法2:

    public sealed class ConvertTime
    {
    /// <summary>
    /// Private constructor to prevent the class from being instantiated.
    /// </summary>
    private ConvertTime() {}

    private static DateTime origin = System.TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1, 0, 0, 0));

    /// <summary>
    /// time_t is an int representing the number of seconds since Midnight UTC 1 Jan 1970 on the Gregorian Calendar.
    /// </summary>
    /// <param name="time_t"></param>
    /// <returns></returns>
    public static DateTime ToDateTime(int time_t)
    {
    DateTime convertedValue = origin + new TimeSpan(time_t * TimeSpan.TicksPerSecond);
    if (System.TimeZone.CurrentTimeZone.IsDaylightSavingTime(convertedValue) == true)
    {
    System.Globalization.DaylightTime daylightTime = System.TimeZone.CurrentTimeZone.GetDaylightChanges(convertedValue.Year);
    convertedValue = convertedValue + daylightTime.Delta;
    }
    return convertedValue;
    }

    /// <summary>
    /// time_t is an int representing the number of seconds since Midnight UTC 1 Jan 1970 on the Gregorian Calendar.
    /// </summary>
    /// <param name="time"></param>
    /// <returns></returns>
    public static int To_time_t(DateTime time)
    {
    DateTime convertedValue = time;
    if (System.TimeZone.CurrentTimeZone.IsDaylightSavingTime(convertedValue) == true)
    {
    System.Globalization.DaylightTime daylightTime = System.TimeZone.CurrentTimeZone.GetDaylightChanges(convertedValue.Year);
    convertedValue = convertedValue - daylightTime.Delta;
    }
    long diff = convertedValue.Ticks - origin.Ticks;
    return (int)(diff / TimeSpan.TicksPerSecond);
    }
    }

    Also  you can convert filetime or oledate to System.DateTime.
    FILETIME to/from System.DateTime
    Use System.DateTime.FromFileTime() and System.DateTime.ToFileTime().
    OLE date to/from System.DateTime
    Use System.DateTime.FromOADate() and System.DateTime.ToOADate(). 

    来自:
    http://blog.csdn.net/RedRiver331/archive/2006/07/02/865231.aspx

  • 相关阅读:
    static 关键字
    gitlab 配置到jenkins
    Eclipse下代码字体背景变红/变绿/变黄原因
    构造方法(和python初始化变量类似)
    面向对象(实际就像python跳用自己写的库那样)
    Python 的AES加密与解密
    break 和 continue 的用法
    for循环
    Eclipse快捷键
    java三元运算符
  • 原文地址:https://www.cnblogs.com/answer/p/1414578.html
Copyright © 2011-2022 走看看