Java学习笔记22(Date类、DateFormat类)
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类)的更多相关文章
- 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器
Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...
- java学习笔记(三):类和对象
创建对象 构造器 每一个类都有一个构造器. 如果我们不单独为一个类编写构造器那么 Java 的编译器将会给这个类建立一个默认的构造器. 每当一个新的对象被创建,至少一个构造器将会被调用. 构造器的一 ...
- Java学习笔记(七)——获取类中方法的信息,java的LinkedList
[前面的话] 在实际项目中学习知识总是最快和最有效的,既能够较好的掌握知识,又能够做出点东西,还是简单的知识总结,最近一直在总结笔记,写的东西还是比较水,希望慢慢可以写出一些干货. 学习过程中的小知识 ...
- 3.1常用类(java学习笔记)包装类及日期类
一.包装类 java是一门面向对象的语言,秉承一切皆对象的思想. 可java中有一些基本数据类型并不是对象,有时可能需要将它们变为对象. 这时就需要用到我们的包装类了. 基本数据类型 包装类 int ...
- ArcGIS API for JavaScript 4.2学习笔记[22] 使用【QueryTask类】进行空间查询 / 弹窗样式
上一篇写道,使用Query类进行查询featureLayer图层的要素,也简单介绍了QueryTask类的使用. 这一篇博文继续推进,使用Query类和QueryTask类进行空间查询,查询USA的著 ...
- java学习笔记37(sql工具类:JDBCUtils)
在之前的内容中,我们发现,当我们执行一条语句时,每新建一个方法,就要重新连接一次数据库,代码重复率很高,那么能不能把这些重复代码封装成一个类呢,我们学习方法时,就学习到方法就是为了提高代码的利用率,所 ...
- Java学习笔记_22_Set接口的实现类
22.Set接口的实现类: Set接口存放的元素是无序的且不包括反复元素. 1>实现类HashSet: HashSet类依据元素的哈希码进行存放,取出时也能够依据哈希码高速找到.HashSet不 ...
- java学习笔记(五):公共类
什么是公共类,公共类就是和源文件名同名的类,举例来说:类的名称是 public class aaa{},那么源文件就应该是 aaa.java. 每个源文件中只能有一个公共类. 每个源文件可以有很多非公 ...
- Java学习笔记49(DBUtils工具类二)
上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...
随机推荐
- 最全Pycharm教程(32)——依据FHS在Linux上安装Pycharm
1.主题 怎样在Linux上安装Pycharm,依据FHS. 2.平台要求 Intel Pentium III/800 MHz或更高. 内存最小512M.建议1G以上 屏幕最小分辨率1024x768 ...
- 游戏AI-行为树理论及实现
从上古卷轴中形形色色的人物,到NBA2K中挥洒汗水的球员,从使命召唤中诡计多端的敌人,到刺客信条中栩栩如生的人群.游戏AI几乎存在于游戏中的每个角落,默默构建出一个令人神往的庞大游戏世界. 那么这些复 ...
- Python绘制3d螺旋曲线图实例代码
Axes3D.plot(xs, ys, *args, **kwargs) 绘制2D或3D数据 参数 描述 xs, ys X轴,Y轴坐标定点 zs Z值,每一个点的值都是1 zdir 绘制2D集合时使用 ...
- OS X Yosemite升级提示升级OS10.11或更高版本问题解决方法
如图,楼主的pro久未升级,版本号已经很低.某天一时兴起,想体验最新版本的OS X.就很开心的进行软件更新: 依据iOS上的APP.系统升级经验,这是一个非常自然.毫无难度的过程,哪知道,今天一直卡在 ...
- .NET Core容器化之多容器应用部署@Docker-Compose
1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题. 2. Why Need Ngin ...
- Linux常用目录结构
此文引用自51CTO博客,博主snail_hf,原文地址<Linux系统目录详解(全而易懂)> 目录结构 / 根目录,处于Linux系统树形结构的最顶端,它是Linux文件系统的入口,所有 ...
- 晒下我在2017年所阅读的JavaScript书单
前言 学习是一个持续不断的过程,在互联网技术里畅游的程序猿们,对学习的渴望更是难以穷尽.2017即将逝去,2018已经漏出曙光,回顾这一年,在学习的路上收获还是颇丰的,下面就晒一晒2017年我所学习的 ...
- Hibernate--使用注解配置映射关系
写在前面: 配置实体类与数据库的映射关系,有两种方式: 1.使用*.hbm.xml : 2.使用@注解 一:注解的方式: 1.@Entity 加在类的前面,将类声明为持久化类. 2.@Tabl ...
- Xcode极速代码,征服Xcode
当谈论到iOS开发工具时,有一个肯定是所有iOS开发者都熟悉的,那就是Xcode.Xcode是使所有令人赞叹的iOS app成为可能的驱动力. Xcode能帮助我们完成非常多的事情,但是这也有点让人头 ...
- JavaWeb之原生数据库连接
我们在开发JavaWeb项目时,常会需要连接数据库.我们以MySQL数据库为例,IDE工具为eclipse,讲述数据库连接与基本操作. 第一步,我们在Web项目的WebContent中建一个简单的前端 ...