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. 前端MVC Vue2学习总结(一)——MVC与vue2概要、模板、数据绑定与综合示例

    一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.Vue是框架而jQuery则是库. 1.2.AMD与CM ...

  2. fatal: Authentication failed for “someurl”

    一.前言 我们在公司做项目,很多时候会遇到这个问题:Git failed with a fatal error. Authentication failed for ‘ http// xxx..... ...

  3. Android Studio 快速开发

    概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. P ...

  4. Android快速实现上传项目到Github

    本文为skylinelin原创,转载请注明出处! 一.简介 现在在网上浏览关于Git的文章,基本上都是使用命令行(Git Bash),命令行效率是很高的,但是有一定的复杂性,现在我们看如何用AS来讲项 ...

  5. JavaScript--AJAX页面传值

    1.首先 闲话不说 直接代码走起,都是我工作闲事的积累干货 //重要 js 运行 $(function (){ 代码 }); 2.ajax 传值 //第一种 输入框 <input type=&q ...

  6. 指针变量的*p,p以及&p的区别

    23/7/2017  决定夯实基础,回顾指针的知识点,该博文转载于CSDN博主百家晓东,小部分修改,外加编译图引证 正文如下: 以下面的情况说明: int a = 5; int* p = &a ...

  7. JDK 1.8 源码阅读和理解

    根据 一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础” 的指引,决定开始阅读下JDK源码. 本文将作为源码阅读总纲 一.精读部分 java.io java.lang java.util ...

  8. xamarin android alertdialog详解

    说明一下:学习xamarin android一段时间,准备写一些xamarin android相关的例子,alertdialog也是使用的非常多得空间之一,非常感谢鸟巢上的小猪,我也是看着他写的教程学 ...

  9. STM32基础分析——USART的DMA模式

    有关USART的DMA传输模式,其基本的概念和配置,网上有很多博客和教程都有,这里不再赘述,只是记录一下比较容易忽视而造成调试不通的问题. 1. 串口发送和接收分属两个DMA通道 一般方式操作串口时, ...

  10. JFinal极速开发框架使用笔记

    记录第一次使用JFinal,从简单的框架搭建到增删改查,从自带的方法到正常框架习惯的使用方式. JFinal官网:http://www.jfinal.com/ JFinal 是基于 Java 语言的极 ...