20220728 第一组 于芮 工具类的应用(第十九天)
java的值传递和引用传递
java只有值传递,所有的赋值都是一次值的拷贝
引用数据类型开呗的就是引用地址,基本数据类型拷贝的是值,不会传入实例本身
常用API(应用程序接口)
时间相关的API(几乎所有操作都需要API----注册时间,修改时间)
日历类
calendar是一个抽象类
提供了一组对“年月日时分秒星期”等信息的操作函数。操作不同时区的信息。
JDK1.1版本开始,在处理时间和日期时,系统推荐使用Calendar类。
Calendar要比Date强大的多
timezone时区类
时间格式化simpledateformat
日期格式化
SimpleDateFormat
format:格式化Date类型,把Date类型转成String类型
我们要展示数据到客户端。
parse:把String类型的时间,转成Date类型
从客户端传过来的时间,一般都是String类型,存入数据库。
yyyy:年
yy:年的后两位
MM:月
dd:日
HH:小时 24小时制
hh:小时 12小时制
mm:分
ss:秒
SSS:毫秒
当返回负数时,说明调用者时间是在参数时间之前
当返回0时,说明调用者时间和参数时间相同
当返回正数时,说明调用者时间在阐述时间之后
持续时间Duration
判断是否为闰年sLeapYear()
能被4整除不被100,被400整除
LocalTime:本地时间
LocalDateTime:获取日期和时间
DateTimeFormatter处理日期的格式化问题
Instant和Date的转换
Instant和LocalDate转换
Date和LocalDateTime转换
Instant instant=Instant.now();
//把instant转成date
Date date=Date.from(instant);
//把date转换成instant
Instant toInstant=date.toInstant();
//把instant 转换成localdatetime
LocalDateTime localDateTime=LocalDateTime.ofInstant(instant,ZoneId.systemDefault());
//吧localdatetime转成instant
Instant instant1=localDateTime.now().toInstant(ZoneOffset.UTC);
//把date转换成localdatetime
Date date1=new Date();
Instant instant2=date.toInstant();
LocalDateTime localDateTime1=LocalDateTime.ofInstant(instant2,ZoneId.systemDefault());
//把localdatetime转成date
LocalDateTime now=LocalDateTime.now();
Instant instant3=now.atZone(ZoneId.systemDefault()).toInstant();
Date date2=Date.from(instant3);
数学类Math
随机数 random() double
向上取整 ceil() double
向下取整 floor() double
四舍五入 round() long
BigDecimal统计类
Arrays数组的工具类
System类--系统类
StringBuffer是同步的。安全,效率低
StringBuilder是异步的。不安全。效率高---推荐使用
今天学习的内容虽然不是很复杂,但是整体来说很零散,很乱,还需要加深理解,以便于更好地运用。
1 mport java.text.DateFormat; 2 import java.text.ParseException; 3 import java.text.SimpleDateFormat; 4 import java.time.*; 5 import java.time.format.DateTimeFormatter; 6 import java.util.Arrays; 7 import java.util.Calendar; 8 import java.util.Date; 9 import java.util.TimeZone; 10 11 public class demo { 12 public static <Stirng> void main(String[] args) { 13 /*Date date=new Date(); 14 // long miles=date.getTime()+1000*60*60*24*7; 15 System.out.println(new Date(System.currentTimeMillis()+ 1000*60*60*24*7));*/ 16 //获取时间戳,通过时间戳转换成我们当前所在地的具体时间和日期 17 /*System.out.println(System.currentTimeMillis()); 18 long start=System.currentTimeMillis(); 19 for (int i = 0; i < 10000000; i++) { 20 if(i%100==0){ 21 System.out.println(i); 22 } 23 24 } 25 int i=0; 26 while(i<10000000){ 27 if(i%100==0){ 28 System.out.println(i); 29 } 30 i++; 31 } 32 long end=System.currentTimeMillis(); 33 System.out.println(end-start);*/ 34 //获取系统当前日期 35 /* Date date=new Date(); 36 System.out.println(date); 37 long millis=System.currentTimeMillis(); 38 System.out.println(millis); 39 date=new Date(1658990679900L); 40 System.out.println(date);*/ 41 /*Date date1=new Date(1658990743222L); 42 Date date2=new Date(); 43 *//* 44 当返回负数时,说明调用者时间是在参数时间之前 45 当返回0时,说明调用者时间和参数时间相同 46 当返回正数时,说明调用者时间在阐述时间之后 47 *//* 48 System.out.println(date1.compareTo(date2)); 49 System.out.println(date1.getYear());*/ 50 /* Calendar calendar=Calendar.getInstance(); 51 System.out.println(calendar.get(Calendar.YEAR)); 52 System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); 53 System.out.println(calendar.get(Calendar.DATE)); 54 System.out.println(calendar.get(Calendar.MONTH)); 55 System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); 56 System.out.println(calendar.get(Calendar.HOUR)); 57 System.out.println(calendar.get(Calendar.MILLISECOND));*/ 58 /*System.out.println(new Date()); 59 Calendar calendar=Calendar.getInstance(); 60 calendar.setTimeZone(TimeZone.getTimeZone("GMT-08:00")); 61 System.out.println(calendar.get(Calendar.HOUR));*/ 62 /* ZoneId zoneId=ZoneId.of("America/New_York"); 63 System.out.println(TimeZone.getTimeZone(zoneId));*/ 64 /* Date date=new Date(); 65 System.out.println(date); 66 SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd/ hh:mm:ss"); 67 String s=sdf.format(date); 68 System.out.println(s);*/ 69 /* long start=System.currentTimeMillis(); 70 String str="abcdefg"; 71 char[] array=str.toCharArray(); 72 String str2=""; 73 for (int i = array.length-1; i >=0 ; i--) { 74 str2+=array[i]; 75 76 } 77 str=str2; 78 System.out.println(str); 79 long end=System.currentTimeMillis(); 80 System.out.println(end - start);*/ 81 /* long start=System.currentTimeMillis(); 82 String str="abcdefg"; 83 String str2=""; 84 for (int i = str.length()-1; i >=0 ; i--) { 85 str2+=str.charAt(i); 86 87 } 88 str=str2; 89 System.out.println(str); 90 long end=System.currentTimeMillis(); 91 System.out.println(end - start);*/ 92 93 94 /* Date date=new Date(); 95 System.out.println(date); 96 SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 97 String s=spf.format(date); 98 System.out.println(s);*/ 99 100 101 /*Date date =new Date(122,2,4); 102 System.out.println(date); 103 104 SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日"); 105 String s1=sdf.format(date); 106 System.out.println(s1);*/ 107 /* long start =System.currentTimeMillis(); 108 String str="abcdefg"; 109 StringBuffer stringBuffer=new StringBuffer(str); 110 stringBuffer.reverse(); 111 str=stringBuffer.toString(); 112 System.out.println(str); 113 long end=System.currentTimeMillis(); 114 System.out.println(end - start);*/ 115 /* Instant instant=Instant.now(); 116 System.out.println(instant.atZone((ZoneId.systemDefault()))); 117 //获取秒数 118 System.out.println(instant.getEpochSecond()); 119 //获取毫秒数 120 System.out.println(instant.toEpochMilli()); 121 long millis=System.currentTimeMillis(); 122 System.out.println(instant.ofEpochMilli(millis)); 123 System.out.println("______"); 124 String text="2022-07-28T14:06:50.147Z"; 125 Instant parse=instant.parse(text); 126 System.out.println(parse); 127 */ 128 /*Instant instant=Instant.now(); 129 Instant plus=instant.plus(Duration.ofDays(5)); 130 System.out.println(plus);*/ 131 /*LocalDate now=LocalDate.now(); 132 System.out.println(now); 133 System.out.println(now.getMonth()); 134 System.out.println(now.getDayOfWeek()); 135 System.out.println(now.getDayOfMonth()); 136 LocalDate of=LocalDate.of(2024,9,10); 137 System.out.println(of); 138 System.out.println(of.isLeapYear());*/ 139 /*LocalTime now=LocalTime.now(); 140 System.out.println(now);*/ 141 //System.out.println(LocalDateTime.now()); 142 /* LocalDate now=LocalDate.now(); 143 DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy年MM月dd日"); 144 System.out.println(now.format(dateTimeFormatter));*/ 145 /* Instant instant=Instant.now(); 146 //把instant转成date 147 Date date=Date.from(instant); 148 //把date转换成instant 149 Instant toInstant=date.toInstant(); 150 //把instant 转换成localdatetime 151 LocalDateTime localDateTime=LocalDateTime.ofInstant(instant,ZoneId.systemDefault()); 152 //吧localdatetime转成instant 153 Instant instant1=localDateTime.now().toInstant(ZoneOffset.UTC); 154 //把date转换成localdatetime 155 Date date1=new Date(); 156 Instant instant2=date.toInstant(); 157 LocalDateTime localDateTime1=LocalDateTime.ofInstant(instant2,ZoneId.systemDefault()); 158 //把localdatetime转成date 159 LocalDateTime now=LocalDateTime.now(); 160 Instant instant3=now.atZone(ZoneId.systemDefault()).toInstant(); 161 Date date2=Date.from(instant3);*/ 162 /* int []arr=new int[]{1,2,3,4,5}; 163 System.out.println(Arrays.toString(arr)); 164 Arrays.sort(arr); 165 Arrays.binarySearch(arr,4); 166 int [] ints=Arrays.copyOf(arr,2); 167 System.out.println(Arrays.toString(ints)); 168 System.out.println(Arrays.equals(arr, ints));*/ 169 170 171 172 } 173 /*private DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); 174 public static final String dateToString(LocalDateTime localDateTime){ 175 return null; 176 } 177 public static final Date stringToDate(String datestr)throws ParseException{ 178 return null; 179 }*/ 180 }