zoukankan      html  css  js  c++  java
  • C#中系统时间和UNIX时间戳互相转换

    在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如ASP.NET调用PHP,牵扯到时间就要做一下处理,PHP程序中一般存取的都是UNIX时间,不像ASP.NET存储的是年月日时分秒,这样就需要做一下转换,代码如下:

    一、将系统时间转换成UNIX时间戳(精确到秒)

    1 DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
    2 DateTime dtNow = DateTime.Parse(DateTime.Now.ToString());
    3 TimeSpan toNow = dtNow.SuBTract(dtStart);
    4 string timeStamp = toNow.Ticks.ToString();
    5 timeStamp = timeStamp.Substring(0,timeStamp.Length - 7);

    二、将UNIX时间戳转换成系统时间(精确到秒)

    1 string timeStamp = "1288368000";
    2 DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
    3 long lTime = long.Parse(timeStamp + "0000000");
    4 TimeSpan toNow = new TimeSpan(lTime);
    5 DateTime dtResult = dtStart.Add(toNow);

    这两个方法比较简单,大家可以把他们封装成静态函数,直接调用。

    补充:

    获取时间戳(秒)

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

    获取时间戳(毫秒)

    1 (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000

    C#中字符窜 base64编码 与解码:

    编码:

    1  byte[] bytes=Encoding.Default.GetBytes("要转换的字符串");
    2  byte[] b=Encoding.UTF8.GetBytes("要转换的字符串");  //转换为UFT8编码
    3 
    4  Convert.ToBase64String(bytes);

    解码:

    1 byte[] outputb = Convert.FromBase64String("ztKwrsTj");
    2 string orgStr= Encoding.Default.GetString(outputb);

    结束!

  • 相关阅读:
    Linux 查看dns运行状态
    Linux 查看网卡流量、网络端口
    Linux 查看磁盘读写速度IO使用情况
    Linux 查看系统状态
    Linux 查看进程
    Python RabbitMQ RPC实现
    [转]轻量级 Java Web 框架架构设计
    java集合总结【转】
    java 线程
    Geoserver基本使用、WMS服务发布与OpenLayers测试
  • 原文地址:https://www.cnblogs.com/yuwentao/p/7232838.html
Copyright © 2011-2022 走看看