把JavaScript里的整形时间转换成C#里的时间 - ASP.NET(webform) - 狼子收集
首页蓝耳朵|小小蓝耳朵广州图书馆外文室英语儿童读物资源介绍网佛教青年之友旧版收集永硕E盘Phonics Short Vowels Game 
把JavaScript里的整形时间转换成C#里的时间
所属栏目:ASP.NET(webform)  时间:2012-01-11 13:55  作者:狼子

JavaScript和C#都可以用整型描述时间,就是两个的起始时间和单位不同

JavaScript起始时间是:1970-1-1 00:00:00,单位是毫秒

C#的起始时间是:0001-1-1 12:00:00,单位是100纳秒

单位转换:

1毫秒(ms) = 1000微秒(us)
1微秒(us) =1000 纳秒
1毫秒 = 1 * 1000 * 1000 / 100 = 10000个100纳秒

转换过程:

//取距离1970-1-1有多少100纳秒
long msFrom1970_time = 1326247528;
long hundredNs1970_time = msFrom1970_time * 10000;

//取0001-1-到1970-1-1有多少100纳秒
DateTime dt1970 = new DateTime(1970, 1, 1);
long hundredNs0001_1970 = dt1970.Ticks;

//取时间刻度,即距离0001-1-1有多少100纳秒
long ticks = hundredNs0001_1970 + hundredNs1970_time;

//取时间
DateTime dt = new DateTime(ticks);
Response.Write("<br />" + dt.ToString("yyyy-MM-dd HH:mm:ss"));

下面是 新浪格式化整形时间的js方法:

        function getTimeZoneTime(s) {
            var tempTime = new Date(s);
            var year = tempTime.getFullYear();
            var month = tempTime.getMonth() + 1;
            var date = tempTime.getDate();
            var hours = tempTime.getHours();
            var minutes = tempTime.getMinutes();
            var seconds = tempTime.getSeconds();

            //两位
            var monthTwoBit = month > 9 ? month.toString() : "0" + month;
            var dateTwoBit = date > 9 ? date.toString() : "0" + date;
            var hoursTwoBit = hours > 9 ? hours.toString() : "0" + hours;
            var minutesTwoBit = minutes > 9 ? minutes.toString() : "0" + minutes;
            var secondsTwoBit = seconds > 9 ? seconds.toString() : "0" + seconds;

            var str = '';
            if (this.year != year) {
                str = year + '-';
            };

            return str + monthTwoBit + '-' + dateTwoBit + ' ' + hoursTwoBit + ':' + minutesTwoBit;
        }

 

小楼宝宝的涂鸦花花(Imitater)的博客起名称骨测字