日期时间类
- Date类
java.util.Date类 表示特定的瞬间,精确到毫秒。
- public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
- public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
- DateFormat类
java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换
- 格式化:按照指定的格式,从Date对象转换为String对象。
- 解析:按照指定的格式,从String对象转换为Date对象。
标识字母(区分大小写) | 含义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CompareToString {
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = dateFormat.format(date);
System.out.println(time);
String str = "2020-01-01 00:00:00";
Date parseStr = dateFormat.parse(str);
System.out.println(parseStr);
}
}
- Calendar类
public static Calendar getInstance()
:使用默认时区和语言环境获得一个日历public int get(int field)
:返回给定日历字段的值。public void set(int field, int value)
:将给定的日历字段设置为给定值。public abstract void add(int field, int amount)
:根据日历的规则,为给定的日历字段添加或减去指定的时间量。public Date getTime()
:返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
public class StudyCalendar {
public static void main(String[] args) {
Calendar instance = Calendar.getInstance();
System.out.println(instance.get(Calendar.YEAR));
instance.setTime(new Date());
System.out.println(instance);
instance.add(Calendar.YEAR, 1);
System.out.println(instance.getTime());
}
}
这里我们通过Calendar.getInstance()[类名.静态方法名]来创建一个日历对象,通过instance.get(Calendar.YEAR)获取了当今的年份,通过instance.setTime(new Date())将此日历的时间设置为给定日期。通过instance.add(Calendar.YEAR, 1)将日历的年份增加1,通过instance.getTime()来获取当前的日历时间。
System类
public static long currentTimeMillis()
:返回以毫秒为单位的当前时间。public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
:将数组中指定的数据拷贝到另一个数组中。
代码示例:
public class StudyCalendar {
public static void main(String[] args) {
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
System.out.println("");
}
long end = System.currentTimeMillis();
System.out.println("用时:" + (end - start) + "毫秒");
int[] a = {1,2,3,4,5};
int[] b = {6,7,8,9,10};
// 将源数组a从索引2开始的俩个元素,复制到目标数组b的索引1开始的俩个位置
System.arraycopy(a,2,b,1,2);
System.out.println(Arrays.toString(b));
}
}
StringBuilder类
由于字符串的拼接会导致空间资源的浪费以及消耗时间,因此我们需要使用到StringBuilder类
原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。tringBuilder会自动维护数组的扩容。(默认16字符空间,超过自动扩充)
- public StringBuilder append(…)`:添加任意类型数据的字符串形式,并返回当前对象自身。
public String toString()
:将当前StringBuilder对象转换为String对象。
public class StringBuildDemo {
public static void main(String[] args) {
StringBuilder builder1 = new StringBuilder();
StringBuilder builder2 = new StringBuilder("world");
String str = "hello";
System.out.println(builder1.toString());
builder1.append(str);
System.out.println(builder1.toString());
builder1.append(builder2);
System.out.println(builder1.toString());
}
}
包装类
如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类
- 装箱与拆箱
- 装箱:从基本类型转换为对应的包装类对象。
- 拆箱:从包装类对象转换为对应的基本类型。
public static void main(String[] args) {
Integer integer = new Integer(5);
System.out.println("将int类型值为5的进行装箱操作:" + integer);
int i = integer.intValue();
System.out.println("将Integer类型值为5的进行拆箱操作:" + i);
}
- 自动装箱与自动拆箱
就是在我们进行基本数据类型和包装类之间的转换时,会自动完成装箱和拆箱操作。
public class Demo {
public static void main(String[] args) {
Integer integer = 4;
System.out.println("将int类型值为4的进行装箱操作:" + integer);
int i = integer;
System.out.println("将Integer类型值为4的进行拆箱操作:" + i);
}
}
- 基本类型与字符串之间的转换
- 通过自动装箱之后使用toString()方法转换成字符串
- 通过String.valueof()方法转换为字符串
- 通过直接与””相连接即可;如:34+“”
public class Demo {
public static void main(String[] args) {
int i = 4;
String a = Integer.valueOf(i).toString();
String b = String.valueOf(4);
String c = 4 + "";
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
String转换成对应的基本类型:
除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:
public static byte parseByte(String s)
:将字符串参数转换为对应的byte基本类型。public static short parseShort(String s)
:将字符串参数转换为对应的short基本类型。public static int parseInt(String s)
:将字符串参数转换为对应的int基本类型。public static long parseLong(String s)
:将字符串参数转换为对应的long基本类型。public static float parseFloat(String s)
:将字符串参数转换为对应的float基本类型。public static double parseDouble(String s)
:将字符串参数转换为对应的double基本类型。public static boolean parseBoolean(String s)
:将字符串参数转换为对应的boolean基本类型。
欢迎java热爱者了解文章,作者将会持续更新中,期待各位友友的关注和收藏,另外对编程感兴趣的友友们可以加以下群共同学习。群号:127871664