时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
1.Java中转换:
时间戳转换为时间:
Long timeStamp = System.currentTimeMillis(); //获取当前时间戳
System.out.println(timeStamp);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sd = sdf.format(new Date(Long.parseLong(String.valueOf(timeStamp)))); // 时间戳转换成时间
System.out.println("格式化结果:" + sd);
时间转化为时间戳:
SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time="2019-04-44 11:45:55";
Date date = format.parse(time);
System.out.print("格式化结果:"+date.getTime());
2.Js中转换:
(1).js获取指定时间戳的方法(时间转换成时间戳)
var times1= (new Date("2019/12/12 08:00:00")).getTime()/1000;
(2)js获取当前时间戳的方法(时间转换成时间戳)
var times2 = Date.parse(new Date());//缺点:毫秒级别的数值被转化为000
var times3 = (new Date()).valueOf();//获取了当前毫秒的时间戳,准确。
var times4 = new Date().getTime();//getTime()返回数值的单位是毫秒
(3)js中时间戳转换成时间
//直接用new Date(要转换的时间戳)来获取时间戳所代表的的日期,其中注意时间戳一定要是Int型,否则转换会失败。如果不是,ParseInt()一下。
var times=new Date(1472048779952);
3.在MySQL中转换:
select FROM_UNIXTIME(1156219870);//时间戳转日期 输出:2006-08-22 12:11:10
Select UNIX_TIMESTAMP('2006-11-04 12:23:00');//转时间戳
SELECT *FROM u_animalheat WHERE DATE_FORMAT(FROM_UNIXTIME(时间戳字段),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') //根据 时间戳 查询当天数据
SELECT * FROM u_animalheat WHERE YEARWEEK(FROM_UNIXTIME(时间戳字段)) = YEARWEEK(NOW())//根据 时间戳 查询当周数据
SELECT * FROM u_animalheat WHERE DATE_FORMAT(FROM_UNIXTIME(时间戳字段),'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')//根据 时间戳 查询当月数据
SELECT * FROM 表名 WHERE DATE_FORMAT(FROM_UNIXTIME(时间戳字段),'%Y') = DATE_FORMAT(NOW(),'%Y') ORDER BY FROM_UNIXTIME(时间戳字段)/根据 时间戳 查询当年数据
4.计算某一日期是星期几
基姆拉尔森计算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日数,m表示月份数,y表示年数。(其中mod意思是取余计算,js用的是%)
部分转载自:https://blog.csdn.net/withawind/article/details/82584867;https://blog.csdn.net/xj932956499/article/details/80759903;
来源:CSDN
作者:海沫汐
链接:https://blog.csdn.net/weixin_43423579/article/details/103511892