2020-08-15
我的Java小复习–Date&SimpleDateFormat&Calendar
和及格作业字符串去重
Date
private static void testDate1() {
//获得当前的时间
Date d1 = new Date();
System.out.println(d1);//结果:Sat Aug 15 16:24:27 CST 2020
//year-1900 month[0-11]
//以指定年月日创建日期,对象设置时间为2000-01-01
Date d2 = new Date(100,0,1);
System.out.println(d2);//结果:Sat Jan 01 00:00:00 CST 2000
//设置时间为1971-01-01
Date d3 = new Date(31536000000L);
System.out.println(d3);//结果:Fri Jan 01 08:00:00 CST 1971
//获得日期对象
System.out.println(d3.getTime());//31536000000
}
SimpleDateFormat
主要用来进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)
private static void testSimpleDateFormat() {
Date d1 = new Date();
System.out.println("格式化前:"+d1);
//创建模板来格式化或者解析
//模板1
//String pattern = "yyyy年MM月dd日 HH:mm:ss";
//模板2
String pattern = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
//将"日期对象"以指定文本格式化
String format = sdf.format(d1);
System.out.println("格式化后:"+format);
System.out.println("-----------------------");
//解析:只会解析复合模版的字符串
String birthday ="2020-05-14 11:11:11";
SimpleDateFormat sdf1 = new SimpleDateFormat(pattern);
Date parse;
try {
parse = sdf1.parse(birthday);
System.out.println(parse);
} catch (ParseException e) {
e.printStackTrace();
}
}
Calendar
public static void main(String[] args) {
//获取当前的日历对象
Calendar rightNow = Calendar.getInstance();
//System.out.println(rightNow);
//得到当前时间的某一字段值
System.out.println(rightNow.get(Calendar.YEAR));
System.out.println(rightNow.get(Calendar.MONTH)+1);
System.out.println(rightNow.get(Calendar.DATE));
//日 一 二 。。。。五 六
System.out.println(rightNow.get(Calendar.DAY_OF_WEEK));
System.out.println(rightNow.get(Calendar.HOUR_OF_DAY));
System.out.println(rightNow.get(Calendar.MINUTE));
System.out.println(rightNow.get(Calendar.SECOND));
//重新设置值
rightNow.set(Calendar.YEAR, 2000);
rightNow.set(Calendar.MONTH, 0);//设置时0-11代表1-12月
rightNow.set(Calendar.DATE, 1);
rightNow.add(Calendar.YEAR, 1);
rightNow.add(Calendar.DATE, 31);
System.out.println(rightNow.get(Calendar.YEAR));
System.out.println(rightNow.get(Calendar.MONTH)+1);//得到时0-11代表1-12月
System.out.println(rightNow.get(Calendar.DATE));
字符串去重
public class Test {
/*
* 作业六 设计方法: 实现 输入一个字符串,将字符串中的重复的字符去除后 再返回.
m1(“javabigdata”) return “javbigdt”
*/
public static void main(String[] args) {
String arraySet = arraySet("tjavavbibgddata".toCharArray());
System.out.println(arraySet);
}
private static String arraySet(char[] oldArr) {
// 创建临时数组用于存放找到的不重复的元素
char[] tempArr = new char[oldArr.length];
// 为了计算将来新数组的长度
int length = 0;
// 为了得到原数组中的每个元素
for (int i = 0; i < oldArr.length; i++) {
// 判断是否重复的标准: false是不重复 true是重复
boolean isRepeat = false;
// 为了得到原数组中的下一个元素
for(int j = i+1;j < oldArr.length;j++) {
// 当前元素与后面的元素比较相等
if(oldArr[i] == oldArr[j]) {
isRepeat = true;
break;
}
}
// 如果不重复
if(!isRepeat) {
// 将不重复的元素放在临时数组中
tempArr[length] = oldArr[i];
// 计数:存储了多少个不重复的元素
length++;
}
}
// 再创建新数组
char[] newArr = new char[length];
// 将临时数组的元素放入新数组
for(int i = 0;i < newArr.length;i++) {
newArr[i] = tempArr[i];
}
// 以字符数组 创建出字符串对象
return new String(newArr);
}
}