java 假设当前时间_Java中与日期和时间相关的类和方法

一、currentTimeMillis()方法

System 类中的方法 currentTimeMillis() 方法可以返回从 GMT1970 年 1 月 1 日 00 : 00 : 00 开始到当前时刻的毫秒数。

System.currentTimeMillis(); //返回值为long类型

二、Date类

1.构造方法

(1)public Date (); 以当前系统时间创建一个Date对象;

(2)public Date (long date); 用指定的毫秒级时间创建一个Date对象,代表自1970年起经过了 date 毫秒后的时间。

Date date1 = new Date();

System.out.println(date1); //输出当前系统时间

Date date2 = new Date(4516379);

System.out.print(date2); //输出为 “Thu Jan 01 09:15:16 CST 1970”

注:Date 的构造函数共有四个,但其他两个已经过时,因此不做说明。

2,常用方法

功能

方法

判断日期是否在 when 之后

public boolean after(Date when)

判断日期是否在 when 之前

public boolean before(Date when)

判断日期和 when 的时间先后顺序,早于、相等、晚于分别返回 -1,0,1

public int compareTo(Date when)

判断两个日期代表的时间点是否相同

public boolean equals(Object obj)

设置 Date 对象代表的时间

public void setTime(long time)

以字符串形式输出当前日期(与直接输出对象的效果相同)

public String toString()

三、Calendar类

Calendar 是一个抽象的基类,GregorianCalendar 为其一个具体子类。

1,构造方法

(1)Calendar calendar = Calendar.getInstance();

使用默认时区和语言环境获得一个日历,其代表的时间为当前系统时间。

(2)Calendar calendar = new GregorianCalendar();

使用子类获得一个日历,其代表的时间为当前系统时间。

2,常量说明

8385bb6e43bb53ea70c7e8a1f2a96ffd.png

3,常用方法

(1)get( field: int) : int

返回一个给定日历域的值

Calendar calendar = Calendar.getInstance();//利用系统当前时间创建一个日历对象

System.out.println(calendar.get(Calendar.YEAR)); //获得当前年份

System.out.println(calendar.get(Calendar.MONTH)); //获得当前月份

System.out.println(calendar.get(Calendar.DATE)); //当前时间是当前月的第几天

System.out.println(calendar.get(Calendar.HOUR)); //当前是几点

System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); //当前是当天的第几小时

System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //当前天是当前周中的第几天

System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); //当前天是当前月的第几天

System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); //当前天是当前年的第几天

System.out.println(calendar.get(Calendar.WEEK_OF_MONTH)); //当前周是当前月的第几周

System.out.println(calendar.get(Calendar.WEEK_OF_YEAR)); //当前周是当前年的第几周

假设当前日期为 “2020年 11月 12日 周四 上午 09:18:46”,则输出如下:

2020 //表示是2020年

10 //表示是11月(0代表一月)

12 //表示是12号

9 //表示是9点

9 //表示当前时间是当天的第九个小时

5 //表示是当前周的第五天,即周四(1代表周日)

12 //表示是当前月的第12天

317 //表示是当前年的第317天

2 //表示是当前月的第二周

46 //表示是当前年的第46周

(2)getTime() : Date

返回代表当前具体时间的对应 Date 对象

Calendar calendar = Calendar.getInstance();

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

假设当前日期为 “2020年 11月 12日 周四 上午 09:56:28”,则输出如下:

Thu Nov 12 09:56:28 CST 2020

(3)set( field: int, value: int) : void

设置日历对象的时间值

Calendar calendar = Calendar.getInstance(); //获取当前时间

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

calendar.set(Calendar.HOUR, 1); //将calendar对象的 HOUR 量改为 1

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

假设当前日期为 “2020年 11月 12日 周四 上午 10:05:14”,则输出如下:

Thu Nov 12 10:05:14 CST 2020

Thu Nov 12 01:05:14 CST 2020 //更改后小时的数值从10变为1

Calendar calendar = Calendar.getInstance();

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

calendar.set(Calendar.DAY_OF_YEAR, 1); //将calendar对象所代表的日期改为当前年的第一天

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

假设当前日期为 “2020年 11月 12日 周四 上午 10:05:14”,则输出如下:

Thu Nov 12 10:07:53 CST 2020

Wed Jan 01 10:07:53 CST 2020 //日期变为2020年的第一天,具体的时、分、秒没有变

Calendar calendar = Calendar.getInstance();

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

calendar.set(Calendar.WEEK_OF_MONTH, 1); //将当前周改为当前月的第一周

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

假设当前日期为 “2020年 11月 12日 周四 上午 10:12:01”,则输出如下:

Thu Nov 12 10:12:01 CST 2020

Thu Nov 05 10:12:01 CST 2020 //将当前周改为第一周,月份和具体的星期几不变

(4)更多的set方法

<1> set (int year, int month, int date) : void

设置日历字段中的值 YEAR , MONTH和 DAY_OF_MONTH 。

<2> set (int year, int month, int date, int hourOfDay, int minute)

设置日历字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY和 MINUTE 。

<3> set (int year, int month, int date, int hourOfDay, int minute, int second)

设置字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND 。

<4> setTime (date: Date) : void

用给定的 Date 对象来设置该日历的时间值

(5)add(field: int, amount: int) : void

对给定的日历域增加或减去给定数目的时间

Calendar calendar = Calendar.getInstance();

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

calendar.add(Calendar.HOUR, 1); //将当前的小时加一

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

假设当前日期为 “2020年 11月 12日 周四 上午 10:24:25”,则输出如下:

Thu Nov 12 10:24:25 CST 2020

Thu Nov 12 11:24:25 CST 2020 //10点变成了11点

Calendar calendar = Calendar.getInstance();

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

calendar.add(Calendar.WEEK_OF_MONTH, 2); //将当前时间向后推后两周

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

假设当前日期为 “2020年 11月 12日 周四 上午 10:28:06”,则输出如下:

Thu Nov 12 10:28:06 CST 2020

Thu Nov 26 10:28:06 CST 2020 //推后两周即加了14天,所以12号变成了26号

Calendar calendar = Calendar.getInstance();

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

calendar.add(Calendar.YEAR, -2); //将当前时间向前推前两年

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

假设当前日期为 “2020年 11月 12日 周四 上午 10:30:12”,则输出如下:

Thu Nov 12 10:30:12 CST 2020

Mon Nov 12 10:30:12 CST 2018 //2020年变成了2018年,具体星期几也发生了变化

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

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

相关文章

STL8-string容器

C 没有 string 类&#xff0c;但提供了直接对字符数组、字符串操作的函数 -> 如 str_len()等等 -> 需要包含 “string.h”#include<iostream> #include<string> using namespace std;//初始化 void test01() {string s1; //调用无参构造string s2(10, a);str…

java 采集 cms_开源 java CMS - FreeCMS2.3 Web页面信息采集

Web页面信息采集从FreeCMS 2.1开始支持通过简单配置即可抓取目标网页信息&#xff0c;支持增量式采集、关键字替换、定时采集&#xff0c;同一采集规则可采集多个页面(静态和动态)&#xff0c;可采集多种信息属性&#xff0c;可自动审核且静态化信息页面。采集规则管理从左侧管…

Python中reshape函数参数-1的意思?

import numpy as np c np.array([[1,2,3],[4,5,6]]) print(2行3列) print(c.reshape(2,3)) print(3行2列) print(c.reshape(3,2)) print(我也不知道几行&#xff0c;反正是一列) print(c.reshape(-1,1)) print(我也不知道几列&#xff0c;反正是一行) print(c.reshape(1,-1)) …

STL9-vector容器

vector容器 动态数组 可变数组 vector容器 单口容器 vector实现动态增长&#xff1a; 当插入新元素时&#xff0c;如果空间不足&#xff0c;那么vector会重新申请更大内存空间&#xff08;默认二倍&#xff09;&#xff0c;将原空间数据拷贝到新空间&#xff0c;释放旧空…

函数返回值失效

#include<stdio.h> #include<stdlib.h> #include<string.h> #if 1 char* getMen2() {char buf[64]; //临时变量&#xff0c;栈区存放strcpy(buf, "abccddeeff");printf("buf:%s\n", buf);return buf; //此处并不是把内存块64个字节ret…

mysql突然出现慢sql_Mysql开启慢SQL并分析原因

第一步.开启mysql慢查询方式一:修改配置文件Windows&#xff1a;Windows 的配置文件为 my.ini&#xff0c;一般在 MySQL 的安装目录下或者 c:\Windows 下。Linux&#xff1a;Linux 的配置文件为 my.cnf &#xff0c;一般在 /etc 下在 my.ini 增加几行:[mysqlld]long_query_time…

STL10-deque容器

deque 双端队列 deque 删除操作 deque案例&#xff1a; #if 1 #include<iostream> #include<deque> using namespace std; void PrintDeque(deque<int>& d) {for (deque<int>::iterator it d.begin(); it ! d.end(); it) {cout << *it <…

STL11-stack容器

#if 1 #include<iostream> #include<stack> using namespace std;void test01() {//初始化stack<int> s1;stack<int> s2(s1);//stack操作s1.push(10);s1.push(20);s1.push(30);s1.push(40);cout << "栈顶元素&#xff1a;" << e…

java犀牛是什么意思_深入浅出Rhino:Java与JS互操作

2011年10月6日&#xff0c;一年一度的JavaOne大会隆重举行。JavaOne2011大会的主题之一介绍针对不同Java平台的产品路线图&#xff0c;这其中包括移动版(ME&#xff0c;Micro Edition)、标准版(SE&#xff0c;Standard Edition)以及企业版(EE&#xff0c;Enterprise Edition)。…

STL12-queue容器

queue容器 队列容器 先进先出 队列只能在一端插入 一端删除 队列不能遍历 不提供迭代器 不支持随机访问 #if 1 #include<iostream> #include<queue> using namespace std; void test01() {queue<int> q; //创建队列queue<int> q2(q);q.push(10);q.pu…

Leedcode7-binary-tree-postorder-traversal

#include<iostream> #include<vector> #include<stack> using namespace std; // Definition for binary tree 先序遍历 根左右 struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; #if 0 c…

用tensorflow搭建RNN(LSTM)进行MNIST 手写数字辨识

用tensorflow搭建RNN(LSTM)进行MNIST 手写数字辨识 循环神经网络RNN相比传统的神经网络在处理序列化数据时更有优势&#xff0c;因为RNN能够将加入上&#xff08;下&#xff09;文信息进行考虑。一个简单的RNN如下图所示&#xff1a; 将这个循环展开得到下图&#xff1a; 上一…

RNN入门

雷锋网 AI科技评论按&#xff1a;本文作者何之源&#xff0c;原文载于知乎专栏AI Insight&#xff0c;雷锋网(公众号&#xff1a;雷锋网) AI科技评论获其授权发布。 上周写的文章《完全图解RNN、RNN变体、Seq2Seq、Attention机制》介绍了一下RNN的几种结构&#xff0c;今天就来…

Java二进制小数表示_《Java编程的逻辑》笔记9--小数的二进制表示

小数计算为什么会出错&#xff1f;简要答案实际上&#xff0c;不是运算本身会出错&#xff0c;而是计算机根本就不能精确的表示很多数&#xff0c;比如0.1这个数。计算机是用一种二进制格式存储小数的&#xff0c;这个二进制格式不能精确表示0.1&#xff0c;它只能表示一个非常…

『TensorFlow』模型保存和载入方法汇总

一、TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类&#xff0c;.save(sess, ckpt文件目录)方法 参数名称功能说明默认值var_listSaver中存储变量集合全局变量集合reshape加载时是否恢复变量形状Truesharded是否将变量轮循放在所有设备上Truemax_to_keep保留最近检…

STL13-list容器(链表)

链表是由一系列的结点组成&#xff0c;结点包括两个域&#xff1a;一个数据域&#xff0c;一个指针域 1、链表内存是非连续的&#xff0c;添加删除元素效率较高&#xff0c;时间复杂度都是常数项&#xff0c;不需要移动元素 2、链表只有在需要的时候才会分配内存 3、链表只要…

php 前往页面,PHP实现网页截图?

如何使用PHP实现网页截图PHP实现网页截图是一个在日常开发中不常见的需求&#xff0c;但是如果实现还是非常有意思的。目前业界有很多成熟的方案&#xff0c;下面我推荐使用一个很稳定的第三方服务来直接实现&#xff0c;该服务有如下特点&#xff1a;支持多线路支持登录截图支…

STL14-set/multiset容器

set只有一个方法就是insert #include<iostream> #include<set> //set和multiset是一个头文件 //set内部实现机制 红黑色&#xff08;平衡二叉树的一种&#xff09; //关联式容器 //set不允许有重复元素 //multiset运行有重复元素 //容器查找效率高 //容器根据元素的…

普通的java类型是指,String是一个很普通的类 - Java那些事儿

上一篇我们讲了Java中的数组&#xff0c;其实是为本章的内容做准备的&#xff0c;String这个类是我们在写Java代码中用得最多的一个类&#xff0c;没有之一&#xff0c;今天我们就讲讲它&#xff0c;我们打开String这个类的源码&#xff1a;声明了一个char[]数组&#xff0c;变…

STL15-map/multimap容器

map的key值不可以重复 multimap的key值可以重复 #if 1 #include<iostream> #include<map> using namespace std; //初始化 void test01() {//map容器参数 第一个参数key的类型 第二个参数value类型map<int, int> mymap;//插入元素 pair.first key值 pair.se…