Date,时间和日期类,这里讲util包中的而不是sql包中的

Date:表示特定的时间瞬间,精确到毫秒(1000毫秒=1秒)

时间和日期的操作都基于毫秒值

时间原点:1970年1月1日,0时0分0秒,对应毫秒值为0

得到当前时间的毫秒值:

public class DateDemo {
public static void main(String[] args) {
long l = System.currentTimeMillis();
//获取当前日期的毫秒值
System.out.println(l);
//
}
}

Date类的构造方法:

package demo;

import java.util.Date;

public class DateDemo {
public static void main(String[] args) {
function1();
function2();
}
public static void function1(){
Date date = new Date();
System.out.println(date);
//输出:Thu Jan 11 11:09:41 CST 2018
}
public static void function2(){
Date date = new Date(123456);
System.out.println(date);
//输出:Thu Jan 01 08:02:03 CST 1970
}
}

Date类的方法:

package demo;

import java.util.Date;

public class DateDemo {
public static void main(String[] args) {
function1();
function2();
}
public static void function1(){
//日期转毫秒
Date date = new Date();
long time = date.getTime();
System.out.println(time);
//
}
public static void function2(){
//毫秒转日期
Date date = new Date();
System.out.println(date);
//Thu Jan 11 11:47:34 CST 2018 date.setTime(123123);
System.out.println(date);
//Thu Jan 01 08:02:03 CST 1970
}
}

我们发现Date类得到的日期格式不是我们所习惯的,

所以这里有一个DateFormat类提供格式化日期功能:

DateFormat是一个抽象类,主要使用它的子类SimpleDateFormat类

示例:

package demo;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; //对日期格式化
public class SimpleDateFormatDemo {
public static void main(String[] args) {
function();
} public static void function(){
DateFormat date = new SimpleDateFormat("yyyy年MM月dd日HH点mm分钟ss秒");
String date1 = date.format(new Date());
System.out.println(date1);
//输出:2018年01月11日12点01分钟30秒
}
}

还可以将字符串转换成日期:

示例:

package demo;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; //对日期格式化
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
function();
} public static void function() throws ParseException {
// 这里有异常,后面介绍
DateFormat date1 = new SimpleDateFormat("yyyy-MM-dd");
// 必须是标准格式的字符串
Date date2 = date1.parse("2017-11-25");
System.out.println(date2);
// 输出:Sat Nov 25 00:00:00 CST 2017
}
}

在实际开发中,不会让用户自行输入日期,因为存在格式错误的风险

通常做一个日期控件供用户选择,而不是让用户输入

Java学习笔记22(Date类、DateFormat类)的更多相关文章

  1. 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器

    Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...

  2. java学习笔记(三):类和对象

     创建对象 构造器 每一个类都有一个构造器. 如果我们不单独为一个类编写构造器那么 Java 的编译器将会给这个类建立一个默认的构造器. 每当一个新的对象被创建,至少一个构造器将会被调用. 构造器的一 ...

  3. Java学习笔记(七)——获取类中方法的信息,java的LinkedList

    [前面的话] 在实际项目中学习知识总是最快和最有效的,既能够较好的掌握知识,又能够做出点东西,还是简单的知识总结,最近一直在总结笔记,写的东西还是比较水,希望慢慢可以写出一些干货. 学习过程中的小知识 ...

  4. 3.1常用类(java学习笔记)包装类及日期类

    一.包装类 java是一门面向对象的语言,秉承一切皆对象的思想. 可java中有一些基本数据类型并不是对象,有时可能需要将它们变为对象. 这时就需要用到我们的包装类了. 基本数据类型 包装类 int ...

  5. ArcGIS API for JavaScript 4.2学习笔记[22] 使用【QueryTask类】进行空间查询 / 弹窗样式

    上一篇写道,使用Query类进行查询featureLayer图层的要素,也简单介绍了QueryTask类的使用. 这一篇博文继续推进,使用Query类和QueryTask类进行空间查询,查询USA的著 ...

  6. java学习笔记37(sql工具类:JDBCUtils)

    在之前的内容中,我们发现,当我们执行一条语句时,每新建一个方法,就要重新连接一次数据库,代码重复率很高,那么能不能把这些重复代码封装成一个类呢,我们学习方法时,就学习到方法就是为了提高代码的利用率,所 ...

  7. Java学习笔记_22_Set接口的实现类

    22.Set接口的实现类: Set接口存放的元素是无序的且不包括反复元素. 1>实现类HashSet: HashSet类依据元素的哈希码进行存放,取出时也能够依据哈希码高速找到.HashSet不 ...

  8. java学习笔记(五):公共类

    什么是公共类,公共类就是和源文件名同名的类,举例来说:类的名称是 public class aaa{},那么源文件就应该是 aaa.java. 每个源文件中只能有一个公共类. 每个源文件可以有很多非公 ...

  9. Java学习笔记49(DBUtils工具类二)

    上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...

随机推荐

  1. Emoji表情符号录入MySQL数据库报错的解决方式

    前言:手机app应用评论的时候,恢复表情符号.提示失败.​1,查看tomcat后台日志,核心报错信息例如以下:  Caused by: java.sql.SQLException: Incorrect ...

  2. cocos2d-x 托付模式的巧妙运用——附源代码(一)

    先来说一下托付模式是什么.以下的内容摘要自维基百科: 托付模式是软件设计模式中的一项基本技巧.在托付模式中,有两个对象參与处理同一个请求.接受请求的对象将请求托付给还有一个对象来处理.托付模式是一项基 ...

  3. Linux性能及调优指南(翻译)之Linux进程管理

    本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.1节的翻译原文地址:http://www.redbooks.ibm.com/redpap ...

  4. Nginx平台构架

    深入理解Nginx模块发开与架构解析读书笔记. nginx在启动后,在unix系统中会以daemon的方式(能够手动关闭 nginx.conf daemon off)在后台执行,后台进程包括一个mas ...

  5. MyBatis_延迟加载01

    一.延迟加载 MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时, 按照设置延迟规则推迟对关联对象的select查询.延迟加载可以有效的减少数据库压力. MyBatis的延迟加载只是对关联 ...

  6. 如何解决更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外 提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更 提示:(如 'git pull ...')。

    不要通过网页提交,通过网页提交一次,然后在终端再次push的时候,会认为网上代码仓库已经被其他地方提交过一次代码,此时会拒绝终端push 这个时候只能是pull,然后才能再次在终端提交. 也就是说,避 ...

  7. urllib2的基本使用

    urlopen 1 import urllib2 2 3 # 向指定的url发送请求,并返回服务器响应的类文件对象 4 response = urllib2.urlopen("http:// ...

  8. Android项目实战(三十六):给背景加上阴影效果

    圆角背景大家应该经常用: 一个drawable资源文件  里面控制corner圆角 和solid填充色 <shape xmlns:android="http://schemas.and ...

  9. JMeter脚本java代码String数组要写成String[] args,不能写成String args[],否则报错。

    JMeter脚本java代码String数组中括号要写在类型关键字后面,不能写在变量名后面.

  10. 【python】入门:打印字符串、简单计算