Java常用API之Date和Calendar类

javaAPI,linuxAPI,htmlAPI java API文档,html API文档,linux API文档 立即下载

时间日期类

1. Date类

1.1 Date概述

Date表示一个特定的时间,精确到毫秒。在java.util包下.

1.2 Date类构造方法

方法说明
public Date()分配一个 Date对象并将它初始化,它代表的时间分配给它,测量精确到毫秒。
public Date(long date)分配一个 Date对象并将它初始化为代表指定的毫秒数自基准时间被称为“时代”,即1970年1月1日,00:00:00 GMT。

代码示例:

package com.date;
import java.util.Date;
/**
 * @author wyt
 */
public class TestDate {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);

        long time = 1000*60*60;
        Date date1 = new Date(time);
        System.out.println(date1);
    }
}
//Sat Jul 11 21:12:15 CST 2020
//Thu Jan 01 09:00:00 CST 1970
可见第一个打印的是当前系统时间,
第二个应该为1970.1.1 1点。由于时区不同,故打印的为9点
    
    tips:中国采用的东八区时间
			1970-01-01 08:00:00 
可见第一个打印的是当前系统时间,第二个应该为1970.1.1 1点。由于时区不同,故打印的为9点
tips:中国采用的东八区时间
		1970-01-01 08:00:00 

1.3 Date类常用方法

methodexplain
public long getTime()返回从1970年1月1日 00:00:00到现在的毫秒数
public void setTime(long time)设置时间。给定的使毫秒值

代码示例:

package com.date;
import java.util.Date;
/**
 * @author wyt
 */
public class TestDate {
    public static void main(String[] args) {
        Date date = new Date();

        System.out.println(date.getTime());

        System.out.println(date.getTime() * 1.0/1000/60/60/24/365 + "年");

        long time = System.currentTimeMillis();
        System.out.println(time);
        
        date.setTime(time);
        System.out.println(date.getTime());
    }
}
//1594475638127
//50.560490808187474年
//1594475638151
//1594475638151

2. SimpleDateFormat类

2.1 SimpleDateFormat概述

SimpleDateFormat类使一个具体的类,经常用于日期格式化和解析日期

2.2 SimpleDateFormat类构造方法

methodexplain
public SimpleDateFormat()构造一个SimpleDateFormat,使用默认模式和日期格式
public SimpleDateFormat(String pattern)构造一个SimpleDateFormat,使用给定的模式和日期格式

2.3 SimpleDateFormat类常用方法

methodexplain
public final String format(Date date)格式化,即把Date转成String
public Date parse(String source)把给定的字符串解析成日期

代码示例:

package com.date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author wyt
 */
public class TestDate {
    public static void main(String[] args) {
        Date date = new Date();

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String format = simpleDateFormat.format(date);
        System.out.println(format);

        String s = "2020年5月17日 16:59:59";
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        //parse方法会抛出一个不可解析的日期的字符串的异常
        Date parse = null;
        try {
            parse = simpleDateFormat1.parse(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(parse);


    }
}
//2020年07月11日 22:13:20
//Sun May 17 16:59:59 CST 2020

2.4 日期工具类

package com.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author wyt
 */
public class DateUtils {
    public static String DateToString(Date date,String format){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        String s = simpleDateFormat.format(date);
        return s;
    }

    public static Date StringToDate(String s,String format){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        Date parse = null;
        try {
            parse = simpleDateFormat.parse(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return parse;
    }

    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
        String s = DateUtils.DateToString(date, "yyyy年MM月dd日 HH:mm:ss");
        System.out.println(s);

        String s1 = "2020年4月30日 05:34:55";
        Date date1 = DateUtils.StringToDate(s1, "yyyy年MM月dd日 HH:mm:ss");
        System.out.println(date1);
    }
}

3.Calendar类

	Calender日历类,替换了很多Date类中的方法。把很多数据都作为静态的属性,通过一些特定的方法来获取。比Date处理日期数据更加方便。
	
	Calender是一个abstract修饰的类,没有自己的类对象。这里通过特定的方法getInstance获取Calender日历类对象。
	public static Calender getInstance();
		默认当前系统时区的Calender对象

常用方法:
	public int get(int field);
		返回特定数据的数值
	public void set(int field, int value);
		设置特定字段对应的数据
	public final void set(int year,int month,int date)
		设置当前日期的年月日
	public Date getTime();
		返回得到一个Date对象,从计算机元年到现在的毫秒数,保存在date对象中
	public abstract void add(int field,int amount)
    	根据日历的规则,将指定的时间量添加或减去给定的日历字段
字段名含义
YEAR年
MONTH月(从0开始,使用时习需要+1)
DAY_OF_MONTH当前月的第几天
HOUR小时(12小时制)
HOUR_OF_DAY小时(24小时制)
MINUTE分钟
SECOND秒
DAY_OF_WEEK周几(周日为1)

代码示例:

package com.date;
import java.util.Calendar;
/**
 * @author wyt
 */
public class TestCalendar {
    public static void main(String[] args) {
        //获取日历对象
        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        //month是从0开始的[0-11],所以要加1
        int month = c.get(Calendar.MONTH) + 1;
        int day = c.get(Calendar.DATE);
        //打印当前日期-->2020.7.12
        System.out.println(year + "年" + month + "月" + day);


        //需求1:三年前的今天
        c.add(Calendar.YEAR,-3);
        year = c.get(Calendar.YEAR);
        System.out.println(year + "年" + month + "月" + day);

        //需求2:10年后的10天前
        c.add(Calendar.YEAR,10);
        c.add(Calendar.DATE,-10);
        year = c.get(Calendar.YEAR);
        day = c.get(Calendar.DATE);
        System.out.println(year + "年" + month + "月" + day);

        c.set(2050,10,1);
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DATE);
        System.out.println(year + "年" + month + "月" + day);


    }
}
//2020年7月12
//2017年7月12
//2027年7月2
//2050年10月1

二月天案例:

package com.date;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
/**
 * @author wyt
 */
public class CalendarPractice {
    public static void main(String[] args) {
        //获取日历对象
        Calendar calendar = Calendar.getInstance();
        //手动输入年份
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入年份:");
        int year = scanner.nextInt();
        //把日历设置成手动输入的年份的3月1日
        calendar.set(year,2,1);
        //将3.1日往前推一天就是二月的最后一天
        calendar.add(Calendar.DATE,-1);
        //获取2月的天数
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        //输出结果
        System.out.println(year + "年2月共有" + day + "天");
    }
}
//请输入年份:
//2020
//2020年2月共有29天
linux基础API文档 linux基础命令介绍,学习API文档 jboss+tomcat安装与部署.zip Linux必学的60个命令.doc 立即下载

相关推荐

Linux命令行上如何使用日历详解

前言 通过 Linux 上的日历,不仅仅可以提醒你今天是星期几。诸如 date、cal、 ncal 和 calendar 等命令可以提供很多有用信息。 Linux 系统可以为你的日程安排提供更多帮助,而不仅仅是提醒你今天是星期几。日历显示有很多选项 —— 有些可能很有帮助,有些可能会让你大开眼界。 日期 首先,你可能知道可以使用 date 命令显示当前日期。 $ date Mon Mar 26 08:01:41 EDT 2018 cal 和 ncal 你可以使用 cal 命令显示整个月份。没有参数时,cal 显示当前月份,默认情况下,通过反转前景色和背景颜色来突出显示当天。 $ cal

java获取linux时区,的Java Calendar.getInstance()更改默认的时区中的Linux

SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");Calendar calendar = Calendar.getInstance();calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calenda...

weixin_29430629的博客 1351

基于rms包的限制性立方样条回归(RCS)R代码实现

RCS

2301_79584199的博客 2万+

Java——常用API(Date类&Calendar类)

Date类 类 Date 表示特定的瞬间,精确到毫秒。 毫秒:千分之一秒 1000ms = 1s;特定的瞬间:一个时间点,一刹那时间。 一、Date的构造方法 /* Date类的带参构造方法 Date(long date):传递毫秒值,把毫秒值转换为Date日期 */ private static void demo02() { Date date = new Date(0L); System.out.println(dat

weixin_45174022的博客 255

对称加密和非对称加密,数字签名和证书

在对称加密中,任何人都可以使用公钥进行加密。在数字签名中,任何人都可以使用公钥验证签名。数字签名,其实就是将非对称加密反过来使用。公钥私钥非对称加密发送者加密时使用接收者解密时使用数字签名验证者验证签名时使用签名者生成签名时使用谁持有密钥?只要有需要,任何人都可以持有个人持有既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密。公钥负责加密,私钥负责解密。既然是签名,那肯定是不希望有人冒充我发消息,所以只有我才能签名。私钥负责签名,公钥负责验签。

m0_70432049的博客 1410

[DA45] 使用PageRank算法分析希拉里邮件中的人物关系

一. 相关知识 (一) PageRank算法 PageRank 算法是 google 公司的创始人拉里·佩奇和谢尔·盖布林于1998年提出的网页搜索优化算法. 详细内容请见百度百科:google pagerank. 如果你了解了该算法, 就能明白上一段的超链接从本页面链出, 链入百度百科的 PageRank 算法页面增加了该页面...

Vincent_Chu的博客 2377

Java常用API之Calendar、Date

Calendar日历类calendar类是一个抽象类,需要通过getInstance()方法才能创建日历类的对象。    常用字段YEAR年份 MONTH月份需要注意月份是从0开始DATE日期     calendar类常用方法        getInstance()以当前系统时间,返回Calendar类本身。相当于为Calendar类创建对象。         get(int field)返回...

liuchonghua的博客 330

大数据之父_BIM先驱Charles (Chuck) M. Eastman逝世——致敬“BIM之父”

原标题:BIM先驱Charles (Chuck) M. Eastman逝世——致敬“BIM之父”BIM研究的先驱、佐治亚理工教授Charles (Chuck) M. Eastman于本周一(11月9日)在其Atlanta家中逝世。特转韩国Yonsei大学Ghang Lee教授的讣文以作纪念。过世原因未说明。BIM的出现是与当今时代科技的发展分不开的。在信息时代建筑发展面临的挑战巨大:建筑物越建越高...

weixin_39941262的博客 3302

java calendar api_Java API的Date, Calendar日期处理相关类分析

Java API的Date, Calendar日期处理相关类分析在计算机程序中精确的处理日期是困难的。不仅有显而易见的(英语: january, 法语: janvier, 德语: januar, 等)国际化需求, 而且得考虑不同的日期系统(并非所有的文化都用基督耶稣的生日作为纪年的开始)。如有高精度或非常大规模的时间需要被处理, 就有额外的方面需要被注意,比如闰秒或时间系统的变化。(公历(阳历, ...

weixin_29809497的博客 222

XR Interaction Toolkit实战:为HTC Vive Cosmos打造抓取、投掷与UI交互(Unity 2023教程)

本文详细介绍了如何使用Unity 2023和XR Interaction Toolkit为HTC Vive Cosmos开发抓取、投掷与UI交互系统。通过实战案例'VR投掷训练室',从基础配置到高级功能实现,涵盖物理抓取、精准投掷机制和VR UI交互设计,帮助开发者提升VR交互开发技能。

weixin_30562507的博客 255

逆向实战:从x-mini签名到RPC调用,Frida动态分析小红书加密协议

本文通过实战案例,详细拆解了小红书App的加密协议逆向分析过程。从识别x-mini签名等关键参数入手,结合静态分析与Frida动态Hook技术,追踪到核心的RPC调用入口,并最终封装成可独立调用的RPC函数,为安全研究和协议理解提供了完整的技术路径。

moss5的博客 1032

Java 常用API :Date类、Calendar类

一、Date类 Java.uitl.Date; //导包 Date类用来表示特定的时间,精确到毫秒 初始化标准基准时间: 1970 年 1 月 1 日 00:00:00 GMT 中国为东八区,要早八个小时 1970 年 1 月 1 日 08:00:00 GMT System.out.println(System.currentTimeMillis()); //获取当前系统时间到1970经历了多少毫...

weixin_46625455的博客 314

TypeScript版LangChain环境配置全攻略:从零搭建AI应用开发环境

大语言模型(LLM)作为当前AI应用开发的核心技术,通过API接口为开发者提供了强大的自然语言处理能力。其工作原理基于Transformer架构,通过预训练和微调实现对人类语言的深度理解与生成。在工程实践中,开发者需要将LLM与外部工具、数据源和业务逻辑有效集成,这正是LangChain框架的技术价值所在——它提供了标准化的组件和接口,简化了复杂AI应用的构建流程。应用场景涵盖智能客服、内容生成、数据分析助手等多个领域。本文聚焦于TypeScript/JavaScript生态下的LangChain开发,详细

weixin_29055699的博客 253

Java API的Date, Calendar日期处理相关类分析

http://dev.youkuaiyun.com/Develop/article/41/41238.shtmMaking Sense of Javas Dates by Philipp K. Janert, Ph.D. translated by humx06/04/2003简介在计算机程序中精确的处理日期是困难的。不仅有显而易见的(英语: January, 法语: Janvier

DengBo的Blog 1147

【时时三省】tessy 集成测试 总论

序论不积跬步无以至千里,不积小流无以成江海。正文。

时时三省的博客 1148

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Java常见API-Date类、DateFormat类、Calendar类

介绍Date类、DateFormat类、Calendar类常用方法

HY—Chan 355

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java API(十三):Date类、SimpleDateFormat类、Calendar类

包含Date类简介、Date类常用方法(getTime、setTime)、SimpleDateFormat类及常用的方法(format、parse)、Calendar类简介、Calendar类常用方法(getTime、setTime、get、set、add、getActualMaximum)。

qq_45138120的博客 1433

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java常用的api类_Java——常用API(Date类Calendar类)

Date类类 Date 表示特定的瞬间,精确到毫秒。 毫秒:千分之一秒 1000ms = 1s;特定的瞬间:一个时间点,一刹那时间。一、Date的构造方法 /*Date类的带参构造方法Date(long date):传递毫秒值,把毫秒值转换为Date日期*/private static void demo02() {Date date = new Date(0L);System.out.print...

weixin_39904809的博客 168

Java常用API之Date类、DateFormat类、Calendar类浅显应用

这是我第一次写播客,用来记录自己学习Java的方向和进程,探索Java语言世界的奇妙之旅。 如果文中有错误的地方,希望前辈们可以指点一二。 常用API——Date类 1、Date类的概述 类Date用来表示特定的瞬间,可以精确到毫秒 实际应用可以用来获取当前系统的时间信息,精确到毫秒值 2、Date类常用的构造方法 Date() 获取当前系统时间 Date(long time) 根据指...

追忆的博客 433

[Java][常用API]Date类,SimpleDateFormat,Calendar

Date类: Date类的对象代表的是当前所在系统的此刻日期时间: package wryyyyy; import java.util.Date; /** * 使用Date类处理时间,获取时间信息 */ public class DateDemo1 { public static void main(String[] args) { //创建一个Date类的对象,代表系统此刻日期时间 Date d = new Date(); S.

qq_62245390的博客 294

Java常用API,常用类(Object,String,System,Math,Date,Calendar,包装类)

本文总结了在Java中常用的API,常用类的API,介绍了Object类,String类,StringBuffer,StringBuilder类,System系统类,Math数学类与Random伪随机数类,Date日期类,DateFormat日期格式化类 ,Calendar日历类,包装类,使用具体的实例,介绍了各个类常用API的使用方法,介绍了包装类,自动装箱,封箱,有具体的实例,和运行结果,帮助大家理解Java中经常使用的API

fj123321666的博客 625

Java常用API(4)----Date类、DateFormat类、Calendar类

一、Date类                                                                                                                                                        点击此处返回总目录 二、毫秒值的概念 三、Date类的构造...

liupc的学习笔记 391
上一篇: 序列化集合
下一篇: 网络编程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值