青_x
贫民
贫民
  • 最后登录2019-09-19
  • 发帖数2
阅读:230回复:3

天啦,这个问题难倒我了!sql数据库中日期数据传入前台后格式发生变化

楼主#
更多 发布于:2019-09-19 20:58
在一次项目中,sql数据库中存在一列关于日期的数据,格式为date格式:
CREATE TABLE userInformation(              --  信息表
 user_id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,  --  id
 user_Name VARCHAR(20) NOT NULL,   --  姓名
 user_sex INT,
 user_tel VARCHAR(20),
 user_email VARCHAR(20),
 user_birthday DATE,
 user_password INT
)
插入数据:
INSERT INTO userInformation(user_name,user_sex,user_tel,user_email,user_birthday,user_password) VALUES
('张三',1,'18811111111','1@qq.com','1990-01-02',111111)

服务器得到查询到的结果发回给前台,通过网页显示出来,此时显示出来的的样式为:
1990-01-01T16:00:00.000Z
这是怎么回事?相信和我一样第一次遇到都会一头雾水吧。可是没事,谁叫我们是程序员呢,就算熬夜掉光头发都得把他搞明白。原因是sql的DATE包含日期和时间,尽管你没有加入时间,在传送的时候转换为字符串时就会显示出来。


同过学习,我们可以通过这种方式处理。


解决办法:
可以将得到的日期字符串通过这样的转换:
new Date(data[i].user_birthday).toLocaleDateString()

date Object 的日期部分的字符串表示,以本地时间区表示,并根据本地规则格式化。这样问题就解决啦,是不是很简单

最新喜欢:

上善若水上善若水 tangzekaitangze...
上善若水
贫民
贫民
  • 最后登录2019-10-09
  • 发帖数2
沙发#
发布于:2019-09-25 11:46
这也太厉害了吧
tangzekai
贫民
贫民
  • 最后登录2019-09-25
  • 发帖数1
板凳#
发布于:2019-09-25 11:45
真的呢
青_x
贫民
贫民
  • 最后登录2019-09-19
  • 发帖数2
地板#
发布于:2019-09-19 20:59
棒棒哒
游客


返回顶部