去掉Timestamp类型输出时的小数位“.0”

您所在的位置:网站首页 jsp设置日期格式 去掉Timestamp类型输出时的小数位“.0”

去掉Timestamp类型输出时的小数位“.0”

2023-07-13 23:15| 来源: 网络整理| 查看: 265

解决方法: 方法一:数据库设置时间格式(MySQL)

函数:DATE_FORMAT(date, format); 用法示例:(详细的使用方法:MySQL date_format()函数)

SELECT orderNumber, DATE_FORMAT(orderdate, '%Y %m %d %T') orderDate, FROM orders; 方法二:后端设置时间格式(java) Date date = new Date(); //获取当前时间戳 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // Date类型 System.out.println(formatter.format(date)); // Timestamp类型 Timestamp tdate = new Timestamp(date.getTime()); System.out.println(formatter.format(tdate));

需要导包

import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; 方法三:将字符串进行截取 String newDate = date.substring(date.length-2,date.length);

注:此方法适用于输出为String类型的情形。

方法四:前台设置时间格式(jsp)

注:value-要显示的日期;type-DATE, TIME, 或 BOTH;pattern-自定义格式模式

需要导包

这里由于我只要用一次,就直接

参考链接: Java 实例 - 格式化时间(SimpleDateFormat)如何将Mysql中的datetime时间格式后面的.0去掉MySQL DATE_FORMAT() 函数 前因:

在MySQL中我将updatetime变量设成了datetime类型,并设定自动记录更新时间。(我用的Navicat,也可以用命令行)

在这里插入图片描述 在数据库中看没有问题,时间格式是我想要的。

但是java中用java.sql.Timestamp类型调用,输出时会多出一位小数,这是因为Timestamp精确到毫秒。

最终我使用的是方法四,它的优点是改动方便,前台处理速度也比较快。

附笔记:

MySQL中有两种表示日期时间的类型,分别是datetime和timestamp。

timestamp默认值为not null,即会自动获取记录改变的时刻并自动填充。 datetime默认值为null,但是也可以设置成自动记录时间的形式:默认值设为CURRENT_TIMESTAMP。

datetime类型取值范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59 timestamp类型取值范围:1970-01-01 00:00:00 到 2037-12-31 23:59:59

timestamp会将时间从当前时区转化为UTC(世界标准时间)进行存储,而datetime与时区无关。这也解释了为什么保存1970-01-01 00:00:00会出错(东八区转换到UTC后超出了范围,真正范围是从1970-01-01 08:00:01 到 2038-01-19 11:14:07)

参考:MySQL的timestamp字段可以使用的范围是多少



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3