c#时间戳转换

今天遇到个比较搞的事情,我们接口层的时间格式采用时间戳的格式来进行定义的。在各个语言上面应该是比较通用的吧!

我们讨论的焦点是c#不好处理,要把格式改成yyyy-mm-dd hh:mm:ss的格式,就这样产生了分歧。

我不做C#开发,也承认C#作为MS的产品,可能C#对于时间戳会没做很好的处理,可总有处理的办法吧!呀!这个问题纠结的啊!

为了测试有办法处理,给电脑装了VS2010,测试之后,才发现,这么容易处理! 发代码给大家瞧瞧,没学过代码的也能明白,啥叫个简单。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("时间戳转换为本地时间");
            Console.WriteLine("1347872069"+"转换为本地时间:");
            long l = 1347872069; // 本地时间为:2012/9/17 8:54:29
            Console.WriteLine(FROM_UNIXTIME(l));

            Console.WriteLine("=================");

            Console.WriteLine("本地时间转换为时间戳");
            DateTime dt = DateTime.Now;//取系统当前时间
            Console.WriteLine("系统当前时间:" + dt.ToLocalTime());
            Console.WriteLine(UNIX_TIMESTAMP(dt));

            Console.Read();
        }
        //时间戳转换为本地时间
        public static DateTime FROM_UNIXTIME(long timeStamp)
        {
            return DateTime.Parse("1970-01-01 00:00:00").AddSeconds(timeStamp);
        }
        //本地时间转换为时间戳
        public static long UNIX_TIMESTAMP(DateTime dateTime)
        {
            return (dateTime.Ticks - DateTime.Parse("1970-01-01 00:00:00").Ticks) / 10000000;
        }
    }
}



提供一个时间戳转换工具的网址,不相信,可以试试。

http://shiningray.cn/toys/unix-timestamp