Java的做法
- 时间戳转化为Date(or String)
SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
Long time=new Long(445555555);
String d = format.format(time);
Date date=format.parse(d);
System.out.println("Format To String(Date):"+d);
System.out.println("Format To Date:"+date);
- Date(or String)转化为时间戳
SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
String time="1970-01-06 11:45:55";
Date date = format.parse(time);
System.out.print("Format To times:"+date.getTime());
JavaScript的做法
以下内容来自 http://shiningray.cn/toys/unix-timestamp#
- 时间戳转普通时间格式
function EpochToHuman(val){
var datum = new Date(val * 1000);
console.log(datum.toGMTString(),'*',datum.toLocaleString());//两种形式输出
}
Input:1474381596
Output: Tue, 20 Sep 2016 14:26:36 GMT * 2016/9/20 下午10:26:36
- 普通时间格式转时间戳
function HumanToEpoch(y,m,d,h,mn,ss){
var datum = new Date(Date.UTC(y,m-1,d,h,mn,ss));
console.log(datum.getTime()/1000.0);
}
Input:2016,9,20,14,26,36
Ouput:1474381596
- Date的格式化
参考: http://www.cnblogs.com/zhangpengshou/archive/2012/07/19/2599053.html
这里借鉴方法一:
// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(H)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd HH:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d H:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
调用:
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");