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. spring框架整合springMVC时关于AOP无法切入的问题

    最开始springMVC的配置为: spring的配置为: 分析可知道spring的配置正确,由于在springmvc中已经扫描了@Controller相关的注解,所以就不需要再次扫描了,由于spri ...

  2. Spring定时任务有时候会莫名奇妙的终止?

    最近在是使用Spring配置定时定时任务(基于xml配置使用spring自带的定时任务),一开始使用没什么问题当使用久了就会出现有些定时任务自动停止了.(关于如何使用以及如何它的原理是啥,这里不进行阐 ...

  3. ML02: 机器学习KNN 算法

    摘要: 一张图说清楚KNN算法 看下图,清楚了吗?   没清楚的话,也没关系,看完下面几句话,就清楚了. KNN算法是用来分类的. 这个算法是如何来分类的呢? 看下图,你可以想想下图中的 『绿色圆点』 ...

  4. 使用node的fs读取文件

    啊啊啊啊啊啊啊啊啊啊啊啊啊啊,被node的fs坑了一下午,我又爬上来了,要坚强的笑着活下去,嗯,没毛病老铁. let http = require('http'); let fs = require( ...

  5. 简述ES6其他的东西

    第一是修饰器是ES7的一个提案,现在Babel转码器已经支持.那么什么是修饰器呢,修饰器是对类的行为的改变,在代码编译时发生的,而不是在运行时发生的且修饰器只能用于类和类的方法.修饰器可以接受三个函数 ...

  6. ADODB.Connection、ADODB.RecordSet

    1.数据库连接对象(ADODB. Connection)该对象用于与ODBC数据库建立连接,所有对数据库的操作均通过该连接进行.数据库连接对象ADODB. Connection的作用象Delphi中的 ...

  7. 西门子flexable创建画面

    一.wincc flexable 创建画面包括以下四点 二.具体操作 1.组态画面模板 1)使用该模板的画面包括该模板的所有组件,一个模板也是一个画面 2)给模板上添加一个文本域如下图,则画面1也会显 ...

  8. 506. Relative Ranks

    Given scores of N athletes, find their relative ranks and the people with the top three highest scor ...

  9. Docker(四):Docker基本网络配置

    1.Libnetwork Libnetwork提出了新的容器网络模型简称为CNM,定义了标准的API用于为容器配置网络. CNM三个重要概念: 沙盒:一个隔离的网络运行环境,保存了容器网络栈的配置,包 ...

  10. iptables 命令详解

    转载:http://blog.chinaunix.net/uid-26495963-id-3279216.html 一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件 ...