java.sql.Date/ java.util.Date/ java.util.Calendar 用法与区别
在 JDK API 这样解释," 在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。"
1、java.util.Date 普通类, 表示的是特定的,瞬间的,能精确毫秒。
Date today = new Date(); //获取当前系统时间
System.out.println(today); //定义日期输出格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //将当前日期转换成指定日期格式输出
String day =sdf.format(today);
System.out.println(day); //指定时间
String today1 ="2016年7月13日 10:58:54";
//将指定时间转换成日期格式输出
Date date=sdf.parse(today1);
System.out.println(date);
Date date = new Date();
System.out.println("毫秒:"+date.getTime());//输入毫秒 //时间转字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(date);
System.out.println("时间转字符串:"+time); //利用字符串来转时间格式
String time02 = "2018-09-05";
SimpleDateFormat sdf2 = new SimpleDateFormat ("yyyy-MM-dd");
Date date2 = sdf2.parse(time02);
2、java.sql.Date
一个包装了毫秒值的瘦包装器 (thin wrapper),它允许 JDBC 将毫秒值标识为 SQL DATE 值。为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将小时、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。
注:毫秒值 表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数
java.sql.date与java.util.date区别
java.sql.Date 为 java.util.Date 的一个子类,继承了 java.util.Date 中的方法,只不过两者的 tostring() 不同, java.sql.Date 对 tostring() 进行了重写 。 ( java.util.Date把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 输出,而 java.sql.Date 则格式化日期转义形式 yyyy-mm-dd 的日期。)
sql.Date 对应数据库中的 Date 类型,而父类 util.Date 为 Java 里的对象类型。
3、java.util.Calendar:抽象类,相比 Date 它在操作日历的时候提供了一些方法来操作日历字段。
//日历类的使用
Calendar c =Calendar.getInstance();
int year =c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;//从0月开始,需要加一
int day1 = c.get(Calendar.DAY_OF_MONTH);
int hour =c.get(Calendar.HOUR);
int second = c.get(Calendar.SECOND);
int min =c.get(Calendar.MINUTE);
System.out.println("当前时间:"+year+"年"+month+"月"+day1+"日"
+hour+"日"+min+"分"+second+"秒");
Java中的日期和时间处理方法
- Date类(过时 ,因为不利于国际化,推荐使用Calendar类):
- Calendar类
- DateFormat类 使用此类来时间初始
java.sql.Date/ java.util.Date/ java.util.Calendar 用法与区别的更多相关文章
- SQL语句中count(1)count(*)count(字段)用法的区别
SQL语句中count(1)count(*)count(字段)用法的区别 在SQL语句中count函数是最常用的函数之一,count函数是用来统计表中记录数的一个函数, 一. count(1)和cou ...
- SQL语句中count(1)count(*)count(字段)用法的区别(转)
SQL语句中count(1)count(*)count(字段)用法的区别 在SQL语句中count函数是最常用的函数之一,count函数是用来统计表中记录数的一个函数, 一. count(1)和cou ...
- 数据库中的java.sql.Timestamp转换成Date
查询数据库中的时间类型为 java.sql.Timestamp 保存在json中需要格式化 自定义工具类 DateJsonValueProcessor package com.rom.util; i ...
- Java 学习 时间格式化(SimpleDateFormat)与历法类(Calendar)用法详解
基于Android一些时间创建的基本概念 获取当前时间 方式一: Date date = new Date(); Log.e(TAG, "当前时间="+date); 结果: E/T ...
- JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换
java.util.Date与的String互转 java.util.Date---->String /** * 将java.util.Date对象转化为String字符串 * @param d ...
- java util.Date 转换为sql.Date
public static java.sql.Timestamp StrTransSqlDate(String date) { SimpleDateFormat simpleDateFormat = ...
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
java.lang.Object ....|__java.util.Date ..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time ...
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结
在web开发中,避免不了对日期的操作,就几种常见的日期操作做个总结(部分参考网络,在此表示感谢): java.util.Date.java.sql.Date.java.sql.Time.java.sq ...
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系
java.util.Date.java.sql.Date.java.sql.Time.java.sql.Timestamp区别和联系 栏目:Java基础 作者:admin 日期:2015-04-19 ...
随机推荐
- PHP类(四)-类的继承
类的继承就是从已经定义的类中继承数据,也可以重新定义或者加入一些数据. 被继承的类称为父类,基类,超类 继承的类称为子类,派生类 在PHP中只能使用单继承,也就是一个类只能从一个类中继承数据,但是一个 ...
- Solaris10安装配置LDAP(iPlanet Directory Server )
Solaris10安装光盘自带了iPlanet Directory Server安装包,系统管理员可以利用iPlanet Directory Server在Solaris系统创建一个LDAP Serv ...
- 问题:sqlserver有没有类似Oracle的LISTAGG;结果: 灵活运用 SQL SERVER FOR XML PATH
灵活运用 SQL SERVER FOR XML PATH FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前 ...
- springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能
转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包 数据库表 数据库表就不用教大家了,一张表,很简 ...
- 触摸事件MultiTouch Events
备注: userInteractionEnabled = NO hidden = YES alpha = 0.0~0.01 //如果上面三个属性被设置了则无法接收触摸事件 1.- (void)t ...
- (转)newInstance()和new()
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法.通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态 ...
- hbase性能调优(转载)
一.服务端调优 1.参数配置 1).hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB ...
- Codeforces 1114D Flood Fill (区间DP or 最长公共子序列)
题意:给你n个颜色块,颜色相同并且相邻的颜色块是互相连通的(连通块).你可以改变其中的某个颜色块的颜色,不过每次改变会把它所在的连通块的颜色也改变,问最少需要多少次操作,使得n个颜色块的颜色相同. 例 ...
- 使用批处理替换windows系统中的hosts文件
chcp 936 >nul@echo offmode con lines=30 cols=60%1 mshta vbscript:CreateObject("Shell.Applica ...
- 【摘自张宴的"实战:Nginx"】http auth baseic模块(打开页面需要密码验证)
location /admin { auth_basic "kingsoft"; auth_basic_user_file httppasswd; #密码文件的路径 默 ...