时间戳如何转换为日期格式?MySQL、C#、JS时间戳转换方法
时间戳如何转换为日期格式?MySQL、C#、JS时间戳转换方法
时间戳如何转换为日期格式?当初把日期格式转换为时间戳是为了更好的记录数据,现在如果想要看看当初时间戳被转换的时间,可以按照以下方法来实现,详情请阅读下文MySQL、C#、JS时间戳转换方法。 MySQL、C#、JS时间戳转换方法: 一、MySQL戳转换方法: 1、原理: 时间戳的原理是把时间格式转为十进制格式,这样就方便时间的计算,如:1377216000000
转化后是 2013年08月23日 。 2、步骤: (1)
创建 DateUtilsl类。 (2)
输入代码: 01importjava.text.ParseException; 02importjava.text.SimpleDateFormat; 03importjava.util.Date; 04/* 05*
@author Msquirrel 06*/ 07public
class DateUtils { 08privateSimpleDateFormat
sf = null; 09/*获取系统时间
格式为:"yyyy/MM/dd "*/ 10public
static String getCurrentDate() { 11Date
d = newDate(); 12sf
= newSimpleDateFormat("yyyy年MM月dd日"); 13returnsf.format(d); 14} 15/*时间戳转换成字符窜*/ 16public
static String getDateToString(long time) { 17Date
d = newDate(time); 18sf
= newSimpleDateFormat("yyyy年MM月dd日"); 19returnsf.format(d); 20} 21/*将字符串转为时间戳*/ 22public
static long getStringToDate(String time) { 23sdf
= newSimpleDateFormat("yyyy年MM月dd日"); 24Date
date = newDate(); 25try{ 26date
= sdf.parse(time); 27}
catch(ParseException e) { 28//
TODO Auto-generated catch block 29e.printStackTrace(); 30} 31returndate.getTime(); 32} 复制代码 3、在对应使用的地方调用: 01DateUtils.getCurrentDate();
//获取系统当前时间 02DateUtils.getDateToString(时间戳);
//时间戳转为时间格式 03DateUtils.getStringToDate("时间格式");//时间格式转为时间戳. 复制代码 二、C#时间戳转换方法: C#的代码(加入了闰年): 注:.Net的DateTime对象返回的是100纳秒的时间单位,年份是从AD1开始计算的。 01class
Program 02{ 03//
定义必须变量 04const
int _1M = 60; // 分钟 05const
int _1H = _1M * 60; // 小时 06const
int _1D = _1H * 24; // 天 07const
long _1Y = _1D * 365; // 年(非闰年) 08const
long _YS = _1Y * 3 + _1D * 366; // 一个闰年年度 09const
long _30D = _1D * 30; // 30天(月) 10const
long _31D = _1D * 31; // 31天(月) 11const
long _28D = _1D * 28; // 28天(月) 12const
long _29D = _1D * 29; // 29天(月) 13long[]
NormalYear = { _31D, _28D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D,
_31D }; // 年 14long[]
LeapYear = { _31D, _29D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D,
_31D }; // 闰年 15static
void Main(string[] args) 16{ 17Program
P = new Program(); 18System.Console.WriteLine(P.getDate(P.getTimeSpame())); 19DateTime
T = DateTime.Now; 20System.Console.WriteLine(P.getTimeSpame()
+ " : " + P.getTimeSpame(T.Year, T.Month, T.Day, T.Hour, T.Minute,
T.Second)); 21System.Console.ReadKey(); 22} 23private
Program() {} 24public
string getDate(long TimeSp) 25{ 26//
年,月,天,小时,分钟,秒 27int
year = 0; 28int
month = 0; 29int
day = 0; 30int
hour = 0; 31int
minute = 0; 32int
second = 0; 33//DateTime
now = DateTime.Now; 34//long
TimeSp = getTimeSpame(); // 当前时间戳 35//
年 36int
_y1 = (int)(TimeSp / _YS); // 获得按年度得到的年度 37TimeSp
-= _YS * _y1; // 计算剩余秒 38int
_y2 = (int)(TimeSp / _1Y); // 剩余年 39TimeSp
-= _1Y * _y2; 40year
= _y1 * 4 + _y2 + 1970; 41//
月 42long[]
YearArr = isLeapYear(year) ? LeapYear : NormalYear; // 获取年的月度表 43month
= 1; // 从1月开始计算 44for
(int i = 0; i < YearArr.Length; i++) 45{ 46if
(TimeSp - YearArr[i] < 0) break; 47++month; 48TimeSp
-= YearArr[i]; 49} 50//
天 51day
= (int)(TimeSp / _1D); 52TimeSp
-= day * _1D; 53//
时 54hour
= (int)(TimeSp / _1H); 55TimeSp
-= hour * _1H; 56//
分 57minute
= (int)(TimeSp / _1M); 58//
秒 59second
= (int)(TimeSp % _1M); 60string
DateStr = year + "年" + month + "月" + day + "日 " + hour + "点" + minute + "分" +
second + "秒"; 61return
DateStr; 62} 63//
判断是否闰年 64private
bool isLeapYear(int year) 65{ 66return
(year % 4 == 0 ? true : false); 67} 68//
获取当前时间戳 按1970年开始计算,精度为秒! 69private
long getTimeSpame() 70{ 71DateTime
_Now = DateTime.Now; 72DateTime
_1970 = new DateTime(1970, 1, 1); 73long
_Sp = (_Now.Ticks - _1970.Ticks) / 10000000; 74return
_Sp; 75} 76//
按既定格式把时间转成成时间戳 77private
long getTimeSpame(int Year, int Month, int Day, int Hour, int Minute, int
Second) 78{ 79long
val = 0; 80val
+= Second; // 秒 81val
+= Minute * _1M; // 分钟 82val
+= Hour * _1H; // 小时 83val
+= Day * _1D; // 天 84long[]
YearArr = isLeapYear(Year) ? LeapYear : NormalYear; 85for
(int i = 0; i < Month - 1; i++) 86{ 87val
+= YearArr[i]; 88} 89Year
-= 1970; 90val
+= (Year / 4) * _YS; 91Year
-= (int)(Year / 4) * 4; 92val
+= Year * _1Y; 93return
val; 94} 95} 复制代码 三、JS时间戳转换方法: 代码如下: 01//
定义常量 02var
_1M = 60; // 分钟 03var
_1H = _1M * 60; // 小时 04var
_1D = _1H * 24; // 天 05var
_1Y = _1D * 365; // 年(非闰年) 06var
_YS = _1Y * 3 + _1D * 366; // 一个闰年年度 07var
_30D = _1D * 30; // 30天(月) 08var
_31D = _1D * 31; // 31天(月) 09var
_28D = _1D * 28; // 28天(月) 10var
_29D = _1D * 29; // 29天(月) 11var
NormalYear = [ _31D, _28D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D,
_31D ]; // 年 12var
LeapYear = [ _31D, _29D, _31D, _30D, _31D, _30D, _31D, _31D, _30D, _31D, _30D,
_31D ]; // 闰年 13var
Now = new Date(); 14TimeSp
= Now.getTime() / 1000; 15//alert(Now.getTimezoneOffset());
// 时区差 16TimeSp
+= -1 * Now.getTimezoneOffset() * _1M; // 修正UTC 17//
年,月,天,小时,分钟,秒 18var
year = month = day = hour = minute = second = 0; 19//
年 20var
_y1 = parseInt(TimeSp / _YS); // 获得按年度得到的年度 21TimeSp
-= _YS * _y1; // 计算剩余秒 22var
_y2 = parseInt(TimeSp / _1Y); // 剩余年 23TimeSp
-= _1Y * _y2; 24year
= _y1 * 4 + _y2 + 1970; 25//
月 26var
YearArr = year % 4 == 0 ? LeapYear : NormalYear; // 获取年的月度表 27month
= 1; // 从1月开始计算 28for
(i=0; i<YearArr.length; i++) 29{ 30if
(TimeSp - YearArr[i] < 0) break; 31++month; 32TimeSp
-= YearArr[i]; 33} 34//
天 35day
= parseInt(TimeSp / _1D); 36TimeSp
-= day * _1D; 37//
时 38hour
= parseInt(TimeSp / _1H); 39TimeSp
-= hour * _1H; 40//
分 41minute
= parseInt(TimeSp / _1M); 42//
秒 43second
= parseInt(TimeSp % _1M); var
DateStr = year + "年" + month + "月" + day + "日 " + hour + "点" + minute + "分" +
second + "秒"; alert(DateStr); 复制代码 注:JS的Date对象的getTime()方法返回的是UTC的时间戳,可以使用getTimezoneOffset()的方法来返回与UTC时差的分钟。 以上代码便是MySQL、C#、JS的时间戳转换方法介绍,因为闰年的存在,代码的使用前请阅读一下。
卖贝商城更多商品介绍:手机电脑网站设计定制建设数据同步 北京海淀联想桥网站设计 腾讯广告