java learn 日期
Date类
注意:是java.util.Date;(声明)
而非 java.sql.Date,此类是给数据库访问的时候使用的
只要是类 其调用方法格式都是一致的
时间原点概念:
所有的数据类型,无论是整数,布尔,浮点数还是字符串,最后都需要以数字的形式表现出来。
日期类型也不例外,换句话说,一个日期,比如2020年10月1日,在计算机里,会用一个数字来代替。
那么最特殊的一个数字,就是零. 零这个数字,就代表Java中的时间原点,其对应的日期是1970年1月1日 8点0分0秒 。 (为什么是8点,因为中国的太平洋时区是UTC-8,刚好和格林威治时间差8个小时)
为什么对应1970年呢? 因为1969年发布了第一个 UNIX 版本:AT&T,综合考虑,当时就把1970年当做了时间原点。
所有的日期,都是以为这个0点为基准,每过一毫秒,就+1。
创建日期对象:
图例解释:
1、getTime() 得到一个long型的整数
这个整数代表 从1970.1.1 08:00:00:000 开始 每经历一毫秒,增加1
2、当前日期的毫秒数
new Date().getTime() 和 System.currentTimeMillis() 是一样的
不过由于机器性能的原因,可能会相差几十毫秒,毕竟每执行一行代码,都是需要时间的
SimpleDateFormat 日期格式化类
类的使用一般都要引入:
import java.text.SimpleDateFormat;
这类里面提供了两个方法:
1、format 日期转字符串(这种情形是增加日期的可读性 因为运行出的结果显示不是我们生活中的书写格式 所以才转换)
package le;
import java.text.SimpleDateFormat;
import java.util.Date;public class TestDate {public static void main(String[] args) {//y 代表年//M 代表月//d 代表日//H 代表24进制的小时//h 代表12进制的小时//m 代表分钟//s 代表秒//S 代表毫秒SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );//实例化一个对象 括号里的内容就是预留来转换的相应格式Date d= new Date();//当前日期String str = sdf.format(d);//format这个方法的作用就是将其日期转换成字符串的 所以在这定义一个字符串System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str);SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );Date d1= new Date();String str1 = sdf1.format(d1);System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);}
}
值得注意的是:
yyyy-MM-dd HH:mm:ss SSS —— 这种转换的格式 其设定是固定的 y代表年 M 代表月 …
这些的代表字母是不可以改变的 把代表年的y用其他字母表示 编译器运行要报错。
2、parse 字符串转日期(这种情形是面对用户输入 进行内部转换)
示例:
这里的原理和日期转字符串差不多 但是涉及到了异常处理
所以这里大致讲解一下 以后的学习会遇见:
1、首先这个声明——import java.text.ParseException;
是异常处理的声明 也是个类
2、
try {} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}
这一部分就是和异常处理有关的 代码段 按照先前的日期转字符串是不需要的 但是删除这段代码编译器就会报错 因为是考虑到
new SimpleDateFormat(“yyyy/MM/dd HH:mm:ss” );和
String str = “2016/1/5 12:12:12”; 中的格式一不一样 ——是不是同为斜杠(/)或者减号(-)
模式(yyyy/MM/dd HH:mm:ss)需要和字符串格式保持一致,如果不一样就会抛出解析异常ParseException
try catch这个结构 和循环结构 同理 都是固定的搭配 是纯关键字 f3 按键是看不到源码的。
ParseException e 就是在定义引用 因为ParseException就是个类。所以才有e.printStackTrace();这段方法引用 这个方法的作用就是在判断用户输入日期的格式是否规范之后弹出框来提醒用户输入正确的格式
Calendar类
Calendar类即日历类,常用于进行“翻日历”,比如下个月的今天是多久
1、Calendar与Date进行转换
采用单例模式获取日历对象Calendar.getInstance();
主要是引用了getInstance这个方法
也是需要声明 import java.util.Calendar;
2、翻日历
add方法,在原日期上增加年/月/日
set方法,直接设置年/月/日
以下是具体的写法 及其用法示例:
细节:
private static String format(Date time) {
return sdf.format(time);
}
这里的 Date time (会自动获取当前日期)和String name 一样是传参
java learn 日期相关推荐
- java处理日期时间 相加减
参考:http://alexfc.iteye.com/blog/363185 JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar 类是一个抽象类,它为特定瞬间 ...
- java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...
我有一个数据库,用于存储日期和日期时间(分别为INTEGER和DOUBLE)作为已修改的儒略日数(MJD).修改后的儒略日数是自1858年11月17日午夜UTC以来连续的天数.根据定义,它们始终以UT ...
- java中日期计算时间差,用java计算日期/时间差
用java计算日期/时间差 我也想计算两个日期之间的差额以小时/分钟/秒为单位. 我的代码有一个小问题,就是:String dateStart = "11/03/14 09:29:58&qu ...
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...
- Java Date 日期 时间 相关方法
DateTools.java import java.text.SimpleDateFormat; import java.util.Date; /*** 日期操作类*/ public class D ...
- java 错误日期转正确日期_Java日期格式转换-错误的月份
我在用Java转换日期时遇到问题,不知道我要去哪里错了... String dateStr = "2011-12-15"; String fromFormat = "yy ...
- java输入日期计算天数_(JAVA)输入年月日,计算日期是今年的第几天?
展开全部 import java.util.Scanner; /** * Created by xpf on 2018/6/22 :) * GitHub:xinpengfei520 * Functio ...
- java中日期比较方法_在java中进行日期时间比较的4种方法
1. Date.compareTo() java.util.Date 提供了在 Java 中比较两个日期的经典方法compareTo(). 如果两个日期相等,则返回值为0. 如果Date在date参数 ...
- Java 实现日期 Date 的赋值
关键的语句也就三句话: (1) SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd"); (2) Da ...
最新文章
- android怎么模拟返回,Android中障蔽返回键,HOME键以及模拟HOME键返回效果的方法...
- SpringBoot 2.0 系列001 -- 入门介绍以及相关概念
- js数组去重解决方案
- 学python好还是不学好_非专业人士有必要学Python吗?
- SAP Spartacus AutoFocus directive的一个例子
- 【解决】ERROR in xxx.js from UglifyJs
- 前端工作笔记-Nginx安装及vue cli部署
- Linux系统中使用pdb调试python代码
- /dev/sda2占用100%、磁盘占用100%的怎么解决?
- 明晚7点,中科院专家带你走进智能计算系统的世界
- matlab实现图片类型的转换
- Mac pip安装allennlp
- 斗鱼自动刷屏脚本-javaScript斗鱼刷屏脚本-js刷屏脚本
- JNI调用dll库或so库
- 苹果android投屏,iPhone苹果手机如何投屏到电视?三种方法亲测详解!
- python控制步进电机代码tx2_步进电机按键控制.lst
- mysql复制sql语句_MySQL复制表结构 表数据sql语句总结
- java什么是继承_JAVA中什么是继承?
- 基于JAVA的企业部门报销管理信息系统的设计与实现
- Macbook Pro 外接显卡实现Tensorflow GPU运行之内屏输出