一、java代码分享
1、需求
前端需要传list时,list内每条数据加一个和上一条相差多长时间的字段,第一天默认为1,时间相同默认为1。
开发情况:list都是准备好的,我做到加工一下就行,所以核心代码就是相减赋值的代码了,封装好后建议放在工具类里。
2、展示
MyfTime:list的时间字段
Mycond:list存储时间差字段
public static List<GetResponse> timeList(List list) {
List<GetResponse> demoMapList = new ArrayList<>();
demoMapList = list;
for (int i = 0; i <= demoMapList.size() - 1; i++) {
if (i == 0) {
demoMapList.get(i).setMycond(1);
} else {
//String类型时间转时间戳
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.ssssss");
int t1 = 0, t2 = 0;
try {
Date dateStart = format.parse(demoMapList.get(i).getMyfTime());
Date datEnd = format.parse(demoMapList.get(i - 1).getMyfTime());
t1 = (int) (dateStart.getTime() / 1000);
t2 = (int) (datEnd.getTime() / 1000);
} catch (Exception e) {
e.printStackTrace();
}
if (t1 == t2) {
demoMapList.get(i).setMycond(1);
} else {
demoMapList.get(i).setMycond(t1 - t2);
}
}
}
return demoMapList;
}
3、小白化代码拆解
首先如果你是个简单的大学生需要了解以下内容:
(1)、ArrayList类
import java.util.ArrayList;
public class Demo{
public static void main(String[] args) {
// 定义List
ArrayList<String> sites = new ArrayList<String>();
//添加元素
sites.add("小明");
sites.add("小红");
sites.add("小刚");
sites.add("老王");
//循环遍历,sites相当于数组的长度
for (String i : sites) {
System.out.println(i);
}
}
}
(2)、格式化时间SimpleDateFormat
下面展示一个小栗子。
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main{
public static void main(String[] args){
Date date = new Date();
String strDateFormat = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
System.out.println(sdf.format(date));
}
}
(3)、try、catch 语句
当try语句当中捕获到异常时,会将异常抛出到catch语句中匹配异常类型,当异常和catch后面的异常类型相匹配时,则catch语句将会执行(后面可以有多个catch,捕获哪个就到哪个)。
语法:
try{
//代码块
}catch(Exception1 e){
//抛出异常后所要进行的操作
}
所触及的领域是星辰大海,初心就想问个为什么,不懂的越来越多,尽心为之吧。