把JavaScript里的整形时间转换成C#里的时间
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;
}