UTC时间与WINDOWS时间互换

本文介绍了在C#中将UTC时间转换为Windows时间,反之亦然的方法,并提供了使用DateTime.FromFileTime和DateTime.FromFileTimeUtc进行文件时间转换的示例。

 

//UTC时间转WINDOWS时间
        public DateTime UTCToDateTime(double l)
        {
            DateTime dtZone = new DateTime(1970, 1, 1, 0, 0, 0);

            dtZone = dtZone.AddSeconds(l);

            return dtZone.ToLocalTime();
        }

        //WINDOWS时间转UTC时间
        public double DateTimeToUTC(DateTime vDate)
        {
            TimeZone tz = TimeZone.CurrentTimeZone;

            vDate = vDate.ToUniversalTime();

            DateTime dtZone = new DateTime(1970, 1, 1, 0, 0, 0);

            return vDate.Subtract(dtZone).TotalSeconds;
        }

//DateTime.FromFileTime 方法

public System.TimeSpan FileAge(long fileCreationTime) {

System.DateTime now = System.DateTime.Now;

try {

System.DateTime fCreationTime = System.DateTime.FromFileTime(fileCreationTime);

System.TimeSpan fileAge = now.Subtract(fCreationTime);

return fileAge;

}

catch (ArgumentOutOfRangeException) {

// fileCreationTime is not valid, so re-throw the exception.

throw;

}

}

 

//DateTime.FromFileTimeUtc 方法

//十进制转十六进制,不足补零.

 Convert.ToString(receiveBytes[8], 16).ToString().PadLeft(2, '0')

 

转载于:https://www.cnblogs.com/tihua/archive/2011/11/30/2268994.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值