阿里编码规约扫描 推荐
1. 平时一般我们获取时间戳都是这种写法
String nowTime = sdf.format(new Date().getTime());
2. 建议大家! 推荐大家! 可以尝试 新的写法 毕竟老写一个东西都是会腻的
String nowTime = sdf.format(System.currentTimeMillis());
原理:
new Date().getTime() / 1000
System.currentTimeMillis() /1000
new Date().getTime() 和 System.currentTimeMillis() 返回的是一个13位数字,单位是毫秒。除1000能让单位变为秒。
看Date源码 Date 本身就是调用了 System.currentTimeMillis() 来进行初始化
public Date() { this(System.currentTimeMillis()); }
使用 System.currentTimeMillis() 是直接调用本地方法,而 new Date().getTime() 确还要创建一个Date对象,降低了效率和占用了内存(虽然损耗不大)