-
2019-07-30 14:57:46
public class Test { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); Date date = new Date(); // date 包括时分秒 String s = sdf.format(date); // 把带时分秒的 date 转为 yyyy-MM-dd 格式的字符串 try { Date date2 = sdf.parse(s); // 把上面的字符串解析为日期类型 System.out.println(sdf.format(date2)); } catch (ParseException e) { e.printStackTrace(); } } }
更多相关内容 -
Java Date获取 年月日时分秒
2021-03-22 15:18:14原文:...import java.text.DateFormat;import java.util.Calendar;import java.util.Date;public class Test {public void getTimeByDate(){Date ...原文:http://www.cnblogs.com/zcw-ios/articles/3326503.html
package com.util;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
public void getTimeByDate(){
Date date = new Date();
DateFormat df1 = DateFormat.getDateInstance();//日期格式,精确到日
System.out.println(df1.format(date));
DateFormat df2 = DateFormat.getDateTimeInstance();//可以精确到时分秒
System.out.println(df2.format(date));
DateFormat df3 = DateFormat.getTimeInstance();//只显示出时分秒
System.out.println(df3.format(date));
DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,上下午,时间(精确到秒)
System.out.println(df4.format(date));
DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期,上下午,时间(精确到秒)
System.out.println(df5.format(date));
DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,上下午,时间(精确到分)
System.out.println(df6.format(date));
DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //显示日期,时间(精确到分)
System.out.println(df7.format(date));
}
public void getTimeByCalendar(){
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);//获取年份
int month=cal.get(Calendar.MONTH);//获取月份
int day=cal.get(Calendar.DATE);//获取日
int hour=cal.get(Calendar.HOUR);//小时
int minute=cal.get(Calendar.MINUTE);//分
int second=cal.get(Calendar.SECOND);//秒
int WeekOfYear = cal.get(Calendar.DAY_OF_WEEK);//一周的第几天
System.out.println("现在的时间是:公元"+year+"年"+month+"月"+day+"日 "+hour+"时"+minute+"分"+second+"秒 星期"+WeekOfYear);
}
public static void main(String[] args) {
Test t=new Test();
t.getTimeByDate();
System.out.println("****************************");
t.getTimeByCalendar();
}
} 这里有个博客http://www.blogjava.net/xiaoyi/articles/295044.html,里面有一些常用方法的实现,可以参考,自己在优化
-
java 去掉Date类型 年月日 后面的时分秒
2021-02-26 10:41:49随手查了下,发现解决方案有很多,作为一个菜鸟来说 有必要整理一下-、-我用的是hibernate自己生成的表,所以util Date在mysql 只有年月日 而没有时分秒然后我在Struts2 全局配置里设置了时间类型转换器xwork-...因为用到这个东西了,随手查了下,发现解决方案有很多,作为一个菜鸟来说 有必要整理一下-、-
我用的是hibernate自己生成的表,所以util Date在mysql 只有年月日 而没有时分秒
然后我在Struts2 全局配置里设置了时间类型转换器xwork-conversion.properties
在这个工具类中没有格式化时间格式:
public class DateTypeConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map context, Object value,Class toType) {
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyyMMdd");
try {
if(toType == Date.class){
String[] params = (String[])value;
return dateFormat.parse(params[0]);
}else if(toType == String.class){
Date date = (Date)value;
return dateFormat.format(date);
}
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
所以数据转换的时候自动加入了时分秒,
解决
-
【java】java如何保留时分秒存取mySql中的datetime类型数据的方法 及 显示时间与数据库存放时间相差n小时的...
2020-11-13 15:34:47Date数据存入mysql数据库后,时分秒消失不见,归为0。 参考: 一、问题描述 console 在java里Date date = new Date();后得到的uploadtime=Wed Nov 11 16:56:12 CST 2020, offtime=Wed Nov 11 16:56:12 CST 2020 ...〇、前情提要
Date数据存入mysql数据库后,时分秒消失不见,归为0。
参考:- java日期格式Date,Timestamp存入数据库
https://www.cnblogs.com/shelly0307/p/10420303.html - java.sql.Date和java.util.Date区别及使用
https://blog.csdn.net/maoyuanming0806/article/details/78011700 - Java 如何存取MySQL datetime类型
https://www.cnblogs.com/latiny/p/8613352.html
一、问题描述
console
在java里
Date date = new Date();
后得到的uploadtime=Wed Nov 11 16:56:12 CST 2020, offtime=Wed Nov 11 16:56:12 CST 2020
数据库
数据库中
16:56:12
消失
说明:java.sql.Date 只存储日期数据不存储时间数据
二、java.sql.Date和java.util.Date区别
原文:
java.sql.Date和java.util.Date区别及使用
https://blog.csdn.net/maoyuanming0806/article/details/78011700java.sql.Date是java.util.Date的子类
三个类都是对应与jdbc处理日期格式的类,有不同的日期精度和格式日期格式
java.sql.Date只包含年月日信息,YYYY-MM-DD。
当我们调用ResultSet的getDate()方法来获得返回值时,java程序会参照"规范"的java.sql.Date来格式化数据库中的数值。
如果你是 2017-09-17 15:15:25 这样的时间点存取数据,那么存在数据库中的值就是:2017-09-17 00:00:00
类型转换
如果把java.sql.Date值通过PrepareStatement的setDate方法存入数据库时,java程序会对传入的java.sql.Date规范化,非规范化的部分将会被劫取。
然而,我们java.sql.Date一般由java.util.Date转换过来,如:java.sql.Date sqlDate=new java.sql.Date(new java.util.Date().getTime()).
显然,这样转换过来的java.sql.Date往往不是一个规范的java.sql.Date.要保存java.util.Date的精确值,我们需要利用java.sql.Timestamp.
注:假若sqltime是java.sql.Date类型对象、utiltime是java.util.Date类型对象
java.util.Date 转 java.sql.Date
java.sql.Date s = new java.sql.Date(util.getTime());
java.sql.Date 转 java.util.Date
java.util.Date u = sqltime;
注意:给java.util.Date赋值java.sql.Date,会自动舍去时分秒。
三、java获取Timestamp类型的当前系统时间 格式:yyyy-MM-dd HH:mm:ss
原文:
java日期格式Date,Timestamp存入数据库
https://www.cnblogs.com/shelly0307/p/10420303.html方法1:
Timestamp t = new Timestamp(System.currentTimeMillis());
preparedStatement.setTimestamp(1,t);方法2:
Date date = new Date();
Timestamp t= new Timestamp(date.getTime());
preparedStatement.setTimestamp(1,t);方法3:
java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());
四、在DaoImpl层实践
代码
Connection conn = DBUtil.getConnection(); String sql = " "; try { PreparedStatement prep = conn.prepareStatement(sql); prep.setTimestamp(6, new java.sql.Timestamp(new java.util.Date().getTime())); prep.setTimestamp(7, new java.sql.Timestamp(new java.util.Date().getTime())); prep.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally{ DBUtil.close(conn); }
成功
为什么间隔了两天才处理这个问题呢?因为我去当工具人了…日行一善…给自己攒人品吧。
五、将数据从mysql数据库中取出来后显示时分秒
参考:
Java 如何存取MySQL datetime类型
https://www.cnblogs.com/latiny/p/8613352.html提取数据
如果要从MySQL中获取yyyy-MM-dd HH:mm:ss 日期格式,首先必须使用 rs.getTimestamp(“insert_dt”)方法,其中"insert_dt" 是数据库时间字段,类型为datetime;然后通过SimpleDateFormat 时间格式化类,将取出来的时间转为String类型
-
先来对比rs获取不同日期时间格式的方法
System.out.println(rs.getDate(“insert_dt”));
System.out.println(rs.getTime(“insert_dt”));
System.out.println(rs.getTimestamp(“insert_dt”)); -
输出结果:
2018-03-19
22:03:21
2018-03-19 22:03:21.0 -
可以看到通过getTimestamp获取的日期格式最后还有一位数(2018-03-19 22:03:21.0),需要将rs.getTimestamp(“insert_dt”) 转为String类型
String timeStamp = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format(rs.getTimestamp(“insert_dt”));
System.out.println(timeStamp); -
输出结果:
2018-03-19 21:51:57
在DaoImpl层实践
与显示相关的是在DaoImpl层里写的查询方法
public List<media> findAllMedia(int sysType) { //1.获取连接 String sql = "你的sql语句"; Connection conn = DBUtil .getConnection(); // 创建集合,存储所有查询内容 List<media> ms = new ArrayList<media>(); try { PreparedStatement prep = conn.prepareStatement(sql); // 执行sql语句 得到结果集rs ResultSet rs = prep.executeQuery(); // 处理结果集,遍历获得每条通讯录记录并存储到集合中保存,返回 while(rs.next()) { // Date uploadtime = rs.getDate("uploadtime"); // Date offtime = rs.getDate("offtime"); // m.setUploadtime("uploadtime"); // m.setOfftime("offtime"); m.setUploadtime(rs.getTimestamp("uploadtime")); m.setOfftime(rs.getTimestamp("offtime")); //将上述查到的数据封装到al上 ms.add(m); } } catch (SQLException e) { e.printStackTrace(); }finally { DBUtil.close(conn); } return ms; }
在html中实践
例子为在表格中显示时间
<%String uploadtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(m.getUploadtime()); %> <td><%=uploadtime %></td>
测试
可以成功显示
六、新的问题
显示时间与数据库里的时间不符
比较数据
日期一样时间相差八小时
参考:
关于从数据库获取DateTime数据少了八个小时/N个小时的问题
https://blog.csdn.net/Utaokii/article/details/109612269解决方式:在连接数据库时设置时区
jdbc:mysql://localhost:3306/sqzp?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT&useSSL=true //将其中 serverTimezone=GMT 改为 serverTimezone=Asia/Shanghai 即可 jdbc:mysql://localhost:3306/sqzp?useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai&useSSL=true
读取到的时间变为正确
测试上传时间是否能对应
- java日期格式Date,Timestamp存入数据库
-
关于hibernate存储时间类型只有年月日没有时分秒的问题
2021-05-08 15:38:05Hibernate在保存和更新Date类型的数据到数据库的时候,如果设置不当,会舍弃时分秒,和数据库中Date类型的精确度不符(如Oracle的Date是带时分秒的).引起的原因主要是mapping文件中的字段类型被设成了type="date",而... -
JAVA util date转 sql DATE 时分秒丢失
2021-02-26 11:51:38Java中有两个Date类,一个是java.util.Date通常情况下用它获取当前时间或构造时间,另一个是java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分。两个类型的时间可以相互转化。util.Date转sql.Date代码... -
Java条件查询涉及到时分秒
2021-02-28 11:16:33关于Oralce数据库的日期时间查询:下面我们先来看一组日期数据表:myDate列:time;1998-8-7 23:45:33.31998-8-7 11:22:21.51998-8-7 00:00:00.0上面列出的这组日期数据我们通过SQL来进行查询SQL:SELECT time FROM ... -
java 只返回时分秒 HH:mm:ss
2021-03-03 10:40:47返回的字段使用 JsonSerialize, 指定自定义日期转换类 将 Date 转换为 LocalDateTime 格式化时间 代码 dto类 /** * 执行时间 */ @JsonSerialize(using = DateToTimeSerializer.class) private Date ex... -
java createSQLQuery().list()返回日期格式没有时分秒的解决方法(转)
2021-03-16 10:33:08java技术 |字号 订阅昨天,阿堂(网络时空)在开发web项目中,发现提取Oracle中某几个Date类型的字段时,发现提出来的Date型值,只有“年月日”,没有“时分秒”显示出来,实际业务中,是要求页面上显示的日期要求是... -
向Mysql中插入时间只有日期没有时分秒的问题
2018-05-17 20:25:14我们一般再将实体类中的日期类型的数据写入数据库的时候,需要把java.util.Date转换为java.sql.Date,我们使用常规的方法去转换,转换过来的只可以得到年月日。如果需要取得时分秒,可以使用Date类的子类Timestamp。 ... -
存入数据库的Date类型只有年月日,没有时分秒的原因和解决办法
2021-02-28 13:43:04问题:存入数据库的Date类型只有年月日,没有时分秒我尝试过几种方式,结果都是年月日,明明有些地方可以有时分秒...后来想到,所有和时间有关的地方,有一个地方我没有去注意。我是用jboss的hibernate插件生成的... -
向数据库中插入日期时间datetime类型数据,数据库中只有日期没有时分秒
2021-02-01 02:50:35java.sql.Time可以直接插入数据库,但是它只有时间,没有日期Java.util.Date需要转换为Java.sql.Date,常规的方式转换过来只可以得到年月日,如若要取得时分秒,可以用Java.sql.Date类的子类Timestamp... -
java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
2021-03-04 02:34:16java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类)。java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值。毫秒值表示... -
datetimepicker只显示日期,不显示时分秒
2021-01-26 05:09:07java日期格式(年月日时分秒毫秒) package test.remote.tools.combine; import java.text.SimpleDateFormat; import java.util.Calendar; imp ... 随机推荐 薪资至少10K的一道题,你能拿下吗 我所了解的华为: 应届... -
java日期类型对象通过mybatis向数据库中的存取
2021-03-09 22:53:30java日期类型对象通过mybatis向数据库中的存取一、数据库中的日期数据类型数据库中的日期数据类型有四种:date、datetime、timestimp、time。date类型只保存年月日,不保存时分秒,datetime和timestimp保 存年月日... -
Java8中对于java.util.Date只取年月日(时分秒清零)的对象
2021-10-21 10:05:23Java8中对于java.util.Date只取年月日(时分秒清零)的对象 方法1.废弃的方法(@Deprecated) // 如果不想要java.util.Date中的时分秒数据,希望将它清零,只保留年月日 // 最简单的办法是调用setHours,setMinutes,... -
用mysql存储日期时,取出来页面如何去掉时分秒
2020-12-21 10:21:13用mysql存储日期时,取出来页面怎么去掉时分秒?Java codetable:CREATE TABLE `t_person` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(20) NOT NULL,`pwd` varchar(20) NOT NULL,`age` int(11) NOT ... -
mybatis 查询出的日期没有时分秒
2018-06-04 12:57:05mapper 文件如下: [code="xml"] [/code] 实体类中字段定义如下: ...java"...mysql中createtime字段是timestamp类型,但是查询后,实体类中的createtime的值只有年月日,时... -
mybatis将时间存入数据库后,只有日期,时分秒全是0
2021-05-08 09:51:29time为时分秒;datetime为年月日时分秒 pgsql数据库中,Date为年月日,timestamp为年月日时分秒 b.mybatis中jdbcType: #{create_time,jdbcType=DATE}改为 #{create_time,jdbcType=TIMESTAMP} 秒带小数点问题... -
JDBC读取Oracle DATE类型数据没有时分秒
2021-01-21 17:13:23众所周知,Oracle中的日期类型有Date,Timestamp等多种类型,当我们使用ResultSet.getDate()来获取上述类型的数据时,即使数据库中保存的数据包含时分秒的信息,但是获取出来的数据仍然不会包含时分秒的信息。... -
皕杰报表(关于日期时间时分秒显示不出来)
2022-01-20 16:11:08皕杰报表(关于日期时间时分秒显示不出来) -
MySQL 问题:向数据库中插入时间类型数据,数据库中只有日期没有时分秒
2017-04-14 10:46:22一、关于向MySQL数据库中插入时间只有日期没有时分秒 java.util.Date是不能直接插入数据库中的,虽然它包含了日期和时分秒。 java.sql.Date可以直接插入数据库,但是它只有日期而没有时间; java.sql.Time... -
JAVA createSQLQuery().list()返回日期格式没有时分秒的解决方法
2015-01-21 14:50:15在开发web项目中,发现提取Oracle中某几个Date类型的字段时,发现提出来的Date型值,只有“年月日”,没有“时分秒”显示出来,实际业务中,是要求页面上显示的日期要求是有“年月日是分秒”的。 这里说明一下,... -
使用Date接收datetime类型数据时分秒都为0
2021-06-25 16:44:09使用Date接收datetime类型数据时分秒都为0 遇到这种问题,很大程度上都是mybatis中做结果映射时,jdbcType的类型给的不对。 一、先按照如下链接检查: json 得到时分秒为00:00:00,拿不到时分秒 解决办法 二、检查... -
前后端传输日期格式时分秒丢失,注释方式解决办法
2018-09-26 10:15:13java.util.Date转换为java.sql.Date带时分秒 java.util.Date需要转换为java.sql.Date,常规的方式转换过来只可以得到年月日,如若要取得时分秒,可以用Date的子类Timestamp Java在向数据库中插入时间的时候,常常...