【131天】尚学堂高淇Java300集视频精华笔记(65-66)

第65集:常用类Date类的使用JDk源码分析

Date时间类(java.util.Date)

  1. 在标准Java类库中包含一个Date类。它的对象表示一个特定的瞬间,精确到毫秒。

  2. Date()分配一个Date对象,并初始化此对象为当前的日期和时间精确到毫秒。

    public Date() {this(System.currentTimeMillis());}
  3. Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 

    /*** Allocates a <code>Date</code> object and initializes it to* represent the specified number of milliseconds since the* standard base time known as "the epoch", namely January 1,* 1970, 00:00:00 GMT.** @param   date   the milliseconds since January 1, 1970, 00:00:00 GMT.* @see     java.lang.System#currentTimeMillis()*/public Date(long date) {fastTime = date;
    }
  4. boolean after(Date when) 测试此日期是否在指定日期之后。

    public boolean after(Date when) {return getMillisOf(this) > getMillisOf(when);
    }
  5. boolean before(Date when)  测试此日期是否在指定日期之前。

    public boolean before(Date when) {return getMillisOf(this) < getMillisOf(when);
    }
  6. Boolean equals(Object obj) 比较两个日期的相等性。

    public boolean equals(Object obj) {return obj instanceof Date && getTime() == ((Date) obj).getTime();
    }
  7. Long getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

    public long getTime() {return getTimeImpl();
    }private final long getTimeImpl() {if (cdate != null && !cdate.isNormalized()) {normalize();}return fastTime;
    }
  8. void setTime(long time)返回

     public void setTime(long time) {fastTime = time;cdate = null;
    }
  9. String toString() 把此 Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 

  10. MAC导入类的快捷键:command+shift+O

  11. 查看API文档大家可以看到很多方法过时了,JDK1.1之前的Date包含了:日期操作、字符串转化成时间对象、时间对象。1.1之后,日期操作使用:Canlendar类来,字符串转化成为时间对象使用DateFormat。

示例代码

public class Test065 {public static void main(String[] args){Date d = new Date();//得到当前时间的毫秒数long a = System.currentTimeMillis();System.out.println(d);System.out.println(a);Date d2 = new Date(1000);System.out.println(d2.toString());//自动加了时区System.out.println(d2.toGMTString());//标准格林尼治时间,已不建议使用d2.setTime(232323423);System.out.println(d2.getTime());System.out.println(d.getTime()<d2.getTime());//等同于beforeSystem.out.println(d.before(d2));System.out.println(d.getTime()>d2.getTime());//等同于afterSystem.out.println(d.after(d2));Date date1 = new Date();System.out.println(date1.toString());long i = date1.getTime();System.out.println(i);Date date2 = new Date(i-1000);Date date3 = new Date(i+1000);System.out.println(date1.after(date2));System.out.println(date1.before(date2));System.out.println(date1.equals(date2));System.out.println(date1.after(date3));System.out.println(date1.before(date3));System.out.println(date1.equals(date3));System.out.println(new Date(1000L*60*60*24*365*39L).toString());}
}

第66集:常用类DateFormat和SimpleDateFormat时间和字符串的互相转换

  1. DateFormat和SimpleDateFormat类的作用:将时间对象与指定格式的字符串进行互相转化。

  2. DateFormat是一个抽象类,一般使用其子类SimpleDateFormat类。

格式化字符含义

示例代码

package com.test066;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Test066 {public static void main(String[] args) {Date a = new Date(123124124L);System.out.println("直接输出Date对象的结果:\t" + a);//System.out.println(a.toString());    DateFormat b = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String str = b.format(a);System.out.println("使用DateFormat类的format方法将Date对象处理成格式化字符串的结果:\t" + str);String str2 = "1977-7-7";DateFormat c = new SimpleDateFormat("yyyy-MM-dd");try {Date d = c.parse(str2);System.out.println("使用DateFormat类的parse方法将格式化字符串处理成Date对象的结果:\t" + d);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS 10.2加载在线影像底图

两种方法&#xff1a; 一、File→ArcGIS Online→影像图→Open。 二、 效果&#xff1a;

都说不要装箱,那装箱到底带来了什么开销?

相信很有朋友在面试时大多会被问到 装箱 的问题&#xff0c;也是一个经典的问题&#xff0c;可深可浅&#xff0c;那今天我们就从 汇编 和 内存 角度进行统一解读下。为了方便演示&#xff0c;先上一段装箱的代码。class Program{static void Main(string[] args){var i 10;va…

Java中方法的继承以及父类未被子类覆盖的方法调用的问题

在看java继承这一块的时候发现了一个问题&#xff0c;即父类未被子类覆盖的方法是如何调用的&#xff1f; 是子类拥有了父类的该方法只是没有显示表示&#xff0c;还是子类调用了父类的该方法。 为此做了一下验证 代码如下&#xff1a; public class One {protected void print…

Excel VBA编程基础

一、程序基本调试方法 1、VB程序的三种状态:设计时、运行时和中断模式。 2、但不执行代码,快捷键为F8。 3、中断程序的方法: (1)使用断点 (2)使用Debug.Assert (3)使用监视条件 二、Excel Shape对象

分治算法之合并排序

1、问题 合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列 2、思路 1、分解:将待排序元素分成大小大致相同的两个子序列 2、治理:对两个子序列进行合并排序 3、…

WPF 实现截屏控件之移动(二)(仿微信)

WPF开发者QQ群此群已满340500857 &#xff0c;请加新群458041663由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 接着上一篇&#xff0c;兼容屏幕缩放问题。01—代码如下一、创建ScreenCut.xaml代码如下。<ResourceDictiona…

深入剖析阿里云推荐引擎——新架构,新体验

摘要&#xff1a;本文的整理自2017云栖大会-上海峰会上阿里云算法专家郑重&#xff08;卢梭&#xff09;的分享讲义&#xff0c;从2016年2月V2.0公开使用到现在&#xff0c;阿里云推荐引擎有了更大的进步。有着获取排序的在线计算&#xff0c;修正匹配的近线计算及匹配排序的离…

分治算法之快速排序

1、快速排序 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序 2、思路 ( 1 )分解:先从数列中取出一个元素作为基准元素。以基准元素为标准,将问题分解为两个子序列,使小于…

SQL Server 2008空间数据应用系列三:SQL Server 2008空间数据类型

SQL Server 2008空间数据应用系列三&#xff1a;SQL Server 2008空间数据类型 原文:SQL Server 2008空间数据应用系列三&#xff1a;SQL Server 2008空间数据类型友情提示&#xff0c;您阅读本篇博文的先决条件如下&#xff1a; 1、本文示例基于Microsoft SQL Server 2008 R2调…

.NET 很好,你可能对它有一些误解

> 作者&#xff1a;Charles Chen在 20 年前的 2002 年, 微软公布了下一代的软件、服务的愿景和路线&#xff0c;2 月 13 日&#xff0c;Visual Studio .NET 推出&#xff0c;.NET 开发平台的第一个版本正式向世界发布。到现在为止&#xff0c;.NET 都已经 20 岁了, 它已经成…

SQL语言实现金额小写转大写完整案例代码

1. 数字大小写对照表 一到十数字大小写: 1——壹,2——贰,3——叁,4——肆,5——伍,6——陆,7——柒,8——捌,9——玖,10——拾 2. 大小写转换案例 将12.345元转换为大写 select dbo.L2U(12.345,1) select dbo.L2U(123456789.345,1) 结果: 3. SQL转化代码 CREA…

盘点PHP编程常见失误

为什么80%的码农都做不了架构师&#xff1f;>>> 变量声明 如果在一条语句中声明一个变量&#xff0c;如下所示&#xff1a;$varvalue;编译器首先会求出语句右半部分的值&#xff0c;恰恰正是语句的这一部分常常会引发错误。如果使用的语法不正确&#xff0c;就会出…

Educational Codeforces Round 1

被C坑的不行不行的。。。其他题目都还可以。 A - Tricky Sum 求1&#xff0c;2&#xff0c;3,...,n的加和&#xff0c;其中2^x&#xff08;x>0&#xff09;为负。 因为2^x的个数很少&#xff0c;所以以每个2^x为分界点进行判断. 初始化x0; 如果n>2^x,求出2^(x-1)到2^(x)之…

甲骨文严查Java授权,企业连夜删除JDK

文 | Travis出品 | OSC开源社区&#xff08;ID&#xff1a;oschina2013)根据外媒 The Register 报道和各大企业的反馈&#xff0c;甲骨文公司近日已经开始将 Java 纳入其软件许可审查中&#xff0c;目的是找出那些处于不合规边缘或已经违规的客户&#xff0c;甲骨文此举是为了推…

前端日志分析

前端日志分析介绍 前端日志分析是通过搜集访客访问网站的行为数据&#xff0c;然后在这些用户日志数据的基础上通过定量和定性分析&#xff0c;来改善用户的浏览体验及网站性能&#xff0c;最终提升商业回报的过程&#xff0c;通常&#xff0c;前端日志分析遵循以下步骤…

zuul转发的一些常见异常

为什么80%的码农都做不了架构师&#xff1f;>>> ##序 使用zuul作为api网关的话&#xff0c;经常会碰见一些异常&#xff0c;这里小结一下。 ##ZuulException 这个是最外层的异常 public class ZuulException extends Exception {public int nStatusCode;public Str…

Xamarin效果第八篇之视频监控

还记得全年帮助一个朋友通过技术手段写了一个PC端的监控软件,这不再次想起此事,准备基于Xamarin再来实现一个移动端的监控;毕竟直接手机上打开还是比较方便的;最终实现的效果:1、启动页动画,原来直接贴图片;这次尝试使用Lottie来玩玩,直接贴参考连接https://www.codesitory.com…

前端实现连连看小游戏(1)

博主玩了这么久的连连看&#xff0c;居然是第一次发现&#xff0c;连连看最多只能有2个转弯。orz… 在网上搜索连连看的连线算法判断&#xff0c;并没有找到很全面的&#xff0c;经过自己摸索之后&#xff0c;做了一些小动画&#xff0c;希望大家可以看一遍都懂啦&#xff5e;&…

在 Visual Studio 2010 中创建 ASP.Net Web Service

第一步&#xff1a;创建一个“ASP.Net Empty Web Application”项目 第二步&#xff1a;在项目中添加“Web Service”新项目 第一步之后&#xff0c;Visual Studio 2010会创建一个仅含一个站点配制文件&#xff08;Web.config&#xff09;的空站点&#xff0c;其余的什么也没有…

C#中缓存的使用

简介缓存是指可以进行高速数据交换的存储器&#xff0c;它先于内存与CPU交换数据&#xff0c;因此速率很快。由于CPU从内存中读取数据的速度比从磁盘读取快几个数量级&#xff0c;并且存在内存中&#xff0c;减小了数据库访问的压力&#xff0c; 所以缓存几乎每个项目都会用到。…