Scott

浅谈timestamp 2 years ago

827个字符
共有143人围观

Unix timestamp

Unix timestamp是一个系统,用于描述时间戳的。它表示从1970年1月1日 00:00:00到当前所经历的秒数(11位)

front timestamp

前端的时间戳是ms级的13位

后端如何存储时间

1, 数据源

把前端的时间戳提交给后端,后端再做处理: 这样做有个bug,那就是时间戳可以篡改,生成时间和修改时间应该交由后端统一处理,时间应有后端生成

2, 数据库中的存储形式

随意,看个人喜好,不过我更喜欢11位的Unix timestamp,因为ta保存的信息更完整,没有被format过;取的时候,前端需要什么格式就format成什么格式

  • string2006-01-02 15:04:05
  • int64: 11位的Unix timestamp

客户端时间展示

客户端讲究的是交互

显示的是距离读者现在查看的时间,如: 15 minutes ago, 3 years ago

想达到这种效果,也很简单,使用moment.js即可.

核心api:

moment("20111031", "YYYYMMDD").fromNow(); // 12 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 12 years ago
moment().startOf('day').fromNow();        // 16 hours ago
moment().endOf('day').fromNow();          // in 8 hours
moment().startOf('hour').fromNow();