日期工具类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中定义的时间
全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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