美文网首页
前后端分离时间数据和格式化的问题

前后端分离时间数据和格式化的问题

作者: V哥带你写程序 | 来源:发表于2020-12-23 13:43 被阅读0次

时间格式化是软件开发的一件小事,但是根据多年经验,这件小事上出的问题不少。而且新的程序员不断重复着老的问题。

典型问题

典型问题包括:

  • 前端最终显示的时间和数据库里不一样,相差一天或者8个小时
  • 对于时间格式化谁来做这件事情,前端和后端都觉得是小事,反而没人做了,或者有的地方前端做,有的地方又是后端做,出了问题扯皮
  • 系统返回的时间格式生活中不常用, 例如 2020-12-21T04:09:31.000+00:00 形式

正确的设计

对于时间,要有时区的概念

timezone.png

相同时间点,杭州是1点04分,在东京是2点04分,伦敦是 5点04分。页面上的时间和数据库中时间相差几个小时往往是没注意时区的设置。
通常,后端jdbc连接上会写明用那个时区,例如serverTimezone=Asia/Shanghai

spring.datasource.url=jdbc:mysql://localhost:3306/rcdb?autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai

格式化的问题交给前端来做

现在的系统中,通常时间格式有两三种,常见的有 YYYY-MM-dd,YYYY-MM-dd HH:mm:ss 和 “几分钟前” 这种形式。具体用哪个格式,该有由前端根据页面场景来灵活使用。所以用什么形式属于展现层面的问题,展现是前端的范畴。 后端接口负责的是数据

后端接口中统一使用时间戳形式 Timestamp

时间戳是从格林威治时间 1970 年 1 月 1 日至当前时间的总秒数,例如 1608523771000。注意这个基准是带时区的,格林威治时间也就是零时区,我们是东八区。

前端日期格式化

可以自己造轮子,但何必呢,推荐用 Moment.js

moment.png
npm install moment --save

写一个工具类,覆盖系统中最常用的日期格式

import Moment from "moment";

export function tsFormat(ts) {
  return Moment(ts).format("YYYY-MM-DD HH:mm:ss");
}

相关文章

  • 前后端分离时间数据和格式化的问题

    时间格式化是软件开发的一件小事,但是根据多年经验,这件小事上出的问题不少。而且新的程序员不断重复着老的问题。 典型...

  • 基于Flask开发的前后端分离租房项目(一)

    一、明确前后端分离和前后端不分离的概念: 我的理解:前后端不分离的概念是后端要控制前端的数据显示和模板渲染(dja...

  • 自定义格式时间函数

    vue中将后端发来的日期格式化 在列表展示后端发来数据时,list接收的数据中有没有格式化的时间,看着让人很不舒服...

  • 前后端分离构架特点

    前后端分离是什么?为什么要前后端分离? 就是把数据和页面分离开,后端不提供页面,只是纯粹的通过 Web API 来...

  • 前后端分离

    什么是前后端分离 前后端分离中前端负责页面路由控制,页面展示,后端处理数据,通过json进行传输。前后端分离并非仅...

  • vue开发过程中跨域最简单解决方案

    前言:我们在进行一个项目开发工程中,需要从后端工程师那里获取数据库中的数据。然而前端代码和后端代码在未打包前是分离...

  • 使用nginx解决跨域问题

    1.跨域解释 1.1 怎么知道我遇到了跨域问题 如果项目没做前后端分离,是不会有跨域问题的。前后端分离的项目中,前...

  • ruoyi框架使用总结(一)

    1. 前后端返回longint数据精度缺失? 处理springboot 前后端精度问题?数据转换,长整型和时间格式...

  • 前后端分离-独立于后端的前端开发

    题目:前后端分离-独立于后端的前端开发简介:如何构建 Web 前端 Mock Server 前后端分离真实数据模拟...

  • vivo 商城前端架构升级—前后端分离篇

    本文主要以 vivo 商城项目的前后端分离经验,总结前后端分离思路,整理前后端分离方案,以及分离过程中遇到的问题及...

网友评论

      本文标题:前后端分离时间数据和格式化的问题

      本文链接:https://www.haomeiwen.com/subject/iniynktx.html