c#DateTime与unix时间戳互相转换

public class UnixTimeUtil
{
    /// <summary>
    /// 将dateTime格式转换为Unix时间戳
    /// </summary>
    /// <param name="dateTime"></param>
    /// <returns></returns>
    public static int DateTimeToUnixTime(DateTime dateTime)
    {
        return (int)(dateTime - TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1))).TotalSeconds;
    }

    /// <summary>
    /// 将Unix时间戳转换为dateTime格式
    /// </summary>
    /// <param name="time"></param>
    /// <returns></returns>
    public static DateTime UnixTimeToDateTime(int time)
    {
        if (time < 0)
            throw new ArgumentOutOfRangeException("time is out of range");

        return TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)).AddSeconds(time);
    }
}

还可以这样子求Unix时间戳:

(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000

原文链接:https://www.cnblogs.com/yaosj/p/11230626.html

原文地址:https://www.cnblogs.com/gaobing/p/12056966.html

时间: 2024-10-07 21:50:18

c#DateTime与unix时间戳互相转换的相关文章

C# DateTime 与Unix时间戳转换

由于项目需要采用C/S和B/S混合设计,BS端采用PHP,CS端采用.net,共同读取mysql数据库,时间问题的解决方案 /// <summary> /// 将Unix时间戳转换为DateTime类型时间 /// </summary> /// <param name="d">double 型数字</param> /// <returns>DateTime</returns> public System.DateT

在不同编程语言中对Unix时间戳进行转换(Unix timestamp)

最近用到unix时间转换在mysql和.net中的应用.将此资料保存在博客中. 如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000) getTime()返回数值的单位是毫秒 Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 1

python datetime unix时间戳以及字符串时间戳转换

将python的datetime转换为unix时间戳 import time import datetime dtime = datetime.datetime.now() ans_time = time.mktime(dtime.timetuple()) 将unix时间戳转换为python的datetime import datetime unix_ts = 1439111214.0 time = datetime.datetime.fromtimestamp(unix_ts) #!/usr/

.net 时间戳互相转换(精确到毫秒)

这里记录一个时间戳的互相转换方法,网上都找了,基本都没有精确到毫秒,我的这个基本可以满足精确到毫秒的级别,代码如下: 1 /// <summary> 2 /// Unix时间戳转换为DateTime 3 /// </summary> 4 private DateTime ConvertToDateTime(string timestamp) 5 { 6 System.DateTime time = System.DateTime.MinValue; 7 //精确到毫秒 8 //时间

C#中DateTime.Ticks属性及Unix时间戳转换

1.相关概念 DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒). Unix时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒. 1秒    = 1000毫秒 1毫秒 = 1000微妙 1微秒 = 1000纳秒 因此, 1毫秒 = 10000纳秒 2.DateTime变量与时间戳的相互转换 在实际使用中经常需要精确到毫秒,因此这里下

Unix时间戳与C# DateTime时间类型、C语言互换 1970-01-01 00:00:00

和同事的下位机交互的时候,需要使用到时间转换, 刚好找到这篇文章,用C语言实现的话,还挺麻烦的 下面给出C#和C的源码 注:C# 转自 http://www.cnblogs.com/hanhualangzi/archive/2012/02/10/2345952.html C源码是同事给我的: C#: 1 dangranusing System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace WWFra

C#unix时间戳转换

/// <summary> /// 日期转换成unix时间戳 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static long DateTimeToUnixTimestamp(DateTime dateTime) { var start = new DateTime(1970, 1, 1, 0,

C# DateTime时间格式转换为Unix时间戳格式

double ntime=dateTimeToUnixTimestamp(DateTime.Now); long g1 = GetUnixTimestamp(); long g2 = ConvertDateTime2Long(DateTime.Now); public double dateTimeToUnixTimestamp(DateTime datetime) { return (datetime - new DateTime(1970, 1, 1).ToLocalTime()).Tota

php将标准字符串格式时间转换成unix时间戳_strtotime

php 将标准字符串格式时间转换成unix时间戳的函数为:strtotime函数(PHP 4, PHP 5). strtotime函数详细参考: strtotime - 将任何英文文本的日期时间描述解析为 Unix 时间戳. 函数格式说明: int strtotime ( string $time [, int $now ] ) 本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 n