【资料图】
1、本来下午能解答的..但是当时用JS写方法...发现有几个小时的差..一直不知道怎么解决...刚刚用C#重写了..终于知道了为什么了要说的是..你的思路是错误的..因为你忽略了闰年~~下面是C#的代码 : (.Net的DateTime对象返回的是100纳秒的时间单位,年份是从AD1开始计算的,纳秒我也不会换算成毫秒,系数是网上找到的~) class Program { // 定义必须变量 const int _1M = 60; // 分钟 const int _1H = _1M * 60; // 小时 const int _1D = _1H * 24; // 天 const long _1Y = _1D * 365; // 年(非闰年) const long _YS = _1Y * 3 + _1D * 366; // 一个闰年年度 const long _30D = _1D * 30; // 30天(月) const long _31D = _1D * 31; // 31天(月) const long _28D = _1D * 28; // 28天(月) const long _29D = _1D * 29; // 29天(月) long[] NormalYear = { _31D, _28D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D, _31D }; // 年 long[] LeapYear = { _31D, _29D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D, _31D }; // 闰年 static void Main(string[] args) { Program P = new Program(); System.Console.WriteLine(P.getDate(P.getTimeSpame())); DateTime T = DateTime.Now; System.Console.WriteLine(P.getTimeSpame() + " : " + P.getTimeSpame(T.Year, T.Month, T.Day, T.Hour, T.Minute, T.Second)); System.Console.ReadKey(); } private Program() {} public string getDate(long TimeSp) { // 年,月,天,小时,分钟,秒 int year = 0; int month = 0; int day = 0; int hour = 0; int minute = 0; int second = 0; //DateTime now = DateTime.Now; //long TimeSp = getTimeSpame(); // 当前时间戳 // 年 int _y1 = (int)(TimeSp / _YS); // 获得按年度得到的年度 TimeSp -= _YS * _y1; // 计算剩余秒 int _y2 = (int)(TimeSp / _1Y); // 剩余年 TimeSp -= _1Y * _y2; year = _y1 * 4 + _y2 + 1970; // 月 long[] YearArr = isLeapYear(year) ? LeapYear : NormalYear; // 获取年的月度表 month = 1; // 从1月开始计算 for (int i = 0; i < YearArr.Length; i++) { if (TimeSp - YearArr[i] < 0) break; ++month; TimeSp -= YearArr[i]; } // 天 day = (int)(TimeSp / _1D); TimeSp -= day * _1D; // 时 hour = (int)(TimeSp / _1H); TimeSp -= hour * _1H; // 分 minute = (int)(TimeSp / _1M); // 秒 second = (int)(TimeSp % _1M); string DateStr = year + "年" + month + "月" + day + "日 " + hour + "点" + minute + "分" + second + "秒"; return DateStr; } // 判断是否闰年 private bool isLeapYear(int year) { return (year % 4 == 0 ? true : false); } // 获取当前时间戳 按1970年开始计算,精度为秒! private long getTimeSpame() { DateTime _Now = DateTime.Now; DateTime _1970 = new DateTime(1970, 1, 1); long _Sp = (_Now.Ticks - _1970.Ticks) / 10000000; return _Sp; } // 按既定格式把时间转成成时间戳 private long getTimeSpame(int Year, int Month, int Day, int Hour, int Minute, int Second) { long val = 0; val += Second; // 秒 val += Minute * _1M; // 分钟 val += Hour * _1H; // 小时 val += Day * _1D; // 天 long[] YearArr = isLeapYear(Year) ? LeapYear : NormalYear; for (int i = 0; i < Month - 1; i++) { val += YearArr[i]; } Year -= 1970; val += (Year / 4) * _YS; Year -= (int)(Year / 4) * 4; val += Year * _1Y; return val; } }然后是JS的: (后来用C#完成后才发现,JS的Date对象的getTime()方法返回的是UTC的时间戳,这个手册上居然没明示,不过有getTimezoneOffset()方法来返回与UTC时差的分钟~)// 定义常量var _1M = 60; // 分钟var _1H = _1M * 60; // 小时var _1D = _1H * 24; // 天var _1Y = _1D * 365; // 年(非闰年)var _YS = _1Y * 3 + _1D * 366; // 一个闰年年度var _30D = _1D * 30; // 30天(月)var _31D = _1D * 31; // 31天(月)var _28D = _1D * 28; // 28天(月)var _29D = _1D * 29; // 29天(月)var NormalYear = [ _31D, _28D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D, _31D ]; // 年var LeapYear = [ _31D, _29D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D, _31D ]; // 闰年var Now = new Date();TimeSp = Now.getTime() / 1000;//alert(Now.getTimezoneOffset()); // 时区差TimeSp += -1 * Now.getTimezoneOffset() * _1M; // 修正UTC// 年,月,天,小时,分钟,秒var year = month = day = hour = minute = second = 0;// 年var _y1 = parseInt(TimeSp / _YS); // 获得按年度得到的年度TimeSp -= _YS * _y1; // 计算剩余秒var _y2 = parseInt(TimeSp / _1Y); // 剩余年TimeSp -= _1Y * _y2;year = _y1 * 4 + _y2 + 1970;// 月var YearArr = year % 4 == 0 ? LeapYear : NormalYear; // 获取年的月度表month = 1; // 从1月开始计算for (i=0; i。
以上就是【时间戳转换器在线,时间戳转换】相关内容。
标签:
1、本来下午能解答的 但是当时用JS写方法 发现有几个小时的...
夏弥来为大家解答以下的问题,宗教,说一说宗教的简介,现在让我们...
失业保险金和失业补助金可以一起领取吗接下来跟社保网小编一起来看...
1、它有这清澈的湖泊,有着碧绿的小河,有着多姿的荷花,有着多彩的...
同花顺(300033)金融研究中心3月9日讯,有投资者向西子洁能(00253...
中电兴发(002298)03月09日在投资者关系平台上答复了投资者关心的问题。
1、首先要知道矩形面积的公式,即矩形ABCD面积=长宽。2、我们把直角...
1、歌词:2、用于问题的结尾3、啦哒啦哒。4、我的宝贝,宝贝5、这是...
失眠康复的眠友王小姐分享的:她说骑自行车的羡慕路上开汽车的,开...
1、写真打包下载:日本女神原千惠最新写真(12张)清纯原千惠清纯原千...
据中国农业信息网8日消息,农业农村部市场预警专家委员会8日发布了...
点赞加关注,懂球不迷路!在今日勇士不敌雷霆的比赛中,普尔在裁判...
1、碗里倒入适量面粉,一点点的加入清水用筷子快速搅拌成棉絮状。2...
市场此前有消息称京东方将为苹果供应搭载LTPO技术的OLED屏幕,从供...
1、周恩,韩国人,1981年4月14日生,以游戏COSPLAY美女出道。2、她...
1、三星i5800原电(EB504465VU)是一款由著名品牌公司生产的电子产品...
杨昌芹在处理竹子。 王长育摄中新网北京3月7日电(记者张伟)2023年...
1、临汾旅,中国人民解放军晋冀鲁豫军区第8纵队第23旅,擅长阵地攻...
夏弥来为大家解答以下的问题,大西洋,说一说大西洋的简介,现在让...
枸杞岛被称为东方的“小希腊”,是列岛中仅次于泗礁的第二大岛。这...
西宁交警信息发布3月6日,西宁市公安交通管理局召开新闻通气会,会...
当前大家对于票据法司法解释实例释解都是颇为感兴趣的,大家都想要...
朱拉蓬公主是泰国的一位公主,是泰国国王拉玛九世陛下与诗丽吉王后...
中国山东网-感知山东3月7日讯(记者郝亚松)“大洪拳传到甄庄将近二百...
1、1980年7月31日,哈利·波特,英国女作家J K 罗琳的魔幻系列小...
大爷撞上奥迪老伴下车后秒晕倒奥斯卡演技!!今天的关注度非常高,...
1、孙安可(原名张晓唯),1998年2月2日出生于吉林省通化市,中国内...
紧身裤只是瘦女孩的专属,越瘦的人腿型越好看的仙女穿紧身裤的效果...
不怕神一样的对手,就怕猪一样的队友。你以为健身只是你一个人的战...
任务如下:1、在翡翠林地图右上角的云端骑士团可接取日常任务,任务...