日期工具类Date、SimpleDateFormat、用SimpleDateFormat中的方法让Date与String相互转换、Calendar类(日历类)的用法

Date

所在包:  java.util
			public class Date extends Object 
				implements Serializable,Cloneable,Comparable<Date>

常用方法:

方法实例 作用
Date d = New Date(); //返回当前时间 星期–月份–日—时:分:秒 CST 年份
Date d1=New Date(long a); //分配一个Date对象,并将其初始化为表示从标准基准时间起的指定毫秒数
d.getTime(); //获取当前时间和标准基准时间差的毫秒值
d.setTime(long data); //和Date的有参构造函数功能相同 分配一个Date对象,并将其初始化为表示从标准基准时间起的指定毫秒数

例子:

Long n = System.currentTimeBillis();
Date d0=New Date(n);
System.out.println(d0);//输出结果与Date date = New Date(); 一致
//输出结果: 
当前时间

SimpleDateFormat(日期时间类)

所在包:java.text
java.lang.Object
	java.text.Format
		java.text.DateFormat
			java.text.SimpleDateFormat
public class SimpleDateFormat extends DateFormat

构造方法:

方法名 作用
public SimpleDataFormat(); //构造一个SimpleDateFormat,使用默认模式和日期格式
public SimpleDateFormat(String pattern); //构造一个SimpleDateFormat使用给定的模式和默认的日期格式

常用方法例子:

Date -> String
public final String format(Date date); //将日期格式化成日期、时间字符串 相当于格式化为字符串
格式化操作:
Date d=new Date();   //获取当前时间的毫秒数
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");//定义时间输出的格式
String s=sdf.format(d);
System.out.println(s);
//输出结果
yyyy年MM月dd日 hh:mm:ss    //输出结果就是当前时间
---------------------------------------------------------------------------------
String -> Date
public Date parse(String source);  //相当于解析(parse)为Date格式
解析操作:
//注意:String要想解析为Date 格式必须和SimpleDateFormat(String pattern)中的格式保持一样
String ss="2021-10-12 17:47";
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
Date d1=sdf1.parse(ss);    //此处会有一个名为ParseException的异常 抛出即可
System.out.println(d1);
//输出结果
ss定义的时间

Calendar

所在包:java.util
java.lang.Object
	java.util.Calendar
 public abstract class Calendar 
		extends Object 
		implements Serializable,Cloneable,Comparable<Calendar>

构造方法:

修饰符 方法名
Protected Calendar()
Protected Calendar(TimeZone zone,Locale aLocale)

常用方法例:

Calendar c=Calendar.getInstance();  //获取对象实例
int year=c.get(Calendar.YEAR);//get方法返回int类型
int month=c.get(Calendar.MONTH)+1;  //系统默认从0开始 +1则为正常月份
int day=c.get(Calendar.DATE); //返回当月的当天
//int day=c.get(Calendar.DAY_OF_MONTH); //返回当月的当天

//get方法,将指定的时间量添加或减去给定的日历字段
c.add(Calendar.YEAR,10);
C.add(Calendar.DATE,-5);    //表示十年后的五天前 

//set方法,设置当前日历的年月日 public final void set(int year,int month,int date);
c.set(2088,11,30);
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);
int day=c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+" "+month+" "+day);
//输出结果
set中定义的时间
全部评论

相关推荐

01-28 16:12
中南大学 Java
几年前还没有chatgpt的时候,刷题真的是很痛苦。刷不出来只能看题解,题解有几个问题:第一个是每次看的写题解的人都不一样,很难有一个统一的思路;第二个也是最重要的是,题解只提供了作者自己的思路,但是没有办法告诉你你的思路哪里错了。其实很少有错误的思路,我只是需要被引导到正确的思路上面去。所以传统题解学习起来非常困难,每次做不出来难受,找题解更难受。但是现在chatgpt能做很多!它可以这样帮助你&nbsp;-1.&nbsp;可以直接按照你喜欢的语言生成各种解法的题解和分析复杂度。2.&nbsp;把题和你写的代码都发给它,它可以告诉你&nbsp;你的思路到底哪里有问题。有时候我发现我和题解非常接近,只是有一点点🤏想错了。只要改这一点点就是最优解。信心倍增。3.&nbsp;如果遇到不懂的题解可以一行一行询问为什么要这样写,chatgpt不会嫌你烦。有时候我觉得自己的range写错了,其实那样写也没错,只是chat老师的题解有一点优化,这个它都会讲清楚。4.&nbsp;它可以帮你找可以用同类型解法来做的题。然后它可以保持解法思路不变,用一个思路爽刷一个类型的题。如果题目之间思路又有变化,它会告诉你只有哪里变了,其他的地方还是老思路。5.&nbsp;它也可以直接帮你总结模板,易错点。经过chat老师的指导,我最大的改变是敢刷题了。之前刷题需要先找某一个人写的算法题repo,然后跟着某一个人他的思路刷他给的几个题。如果想写别的题,套用思路失败了,没有他的题解,也不知道到底哪里错了;看别人的题解,思路又乱了。这个问题在二分查找和dp类型的题里面特别常见。但是现在有chat老师,他会针对我的代码告诉我我哪里想错了,应该怎么做;还按照我写代码的习惯帮我总结了一套属于我的刷题模板。每天写题全是正反馈!
牛客981:不刷才是爽
AI时代的工作 VS 传...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务