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

  • 相关阅读:
    jQuery.ajax()方法笔记
    Docker安装
    Linux下Nginx+keepalived实现高可用
    Linux安装Nginx
    Redis主从、哨兵、Cluster特性
    Linux搭建redis集群
    Linux搭建redis单机
    HashMap知识总结(jdk1.8)
    如何避免form提交进行页面跳转
    异步上传文件,jquery+ajax,显示进度条
  • 原文地址:https://www.cnblogs.com/answer/p/1414578.html
Copyright © 2011-2022 走看看