时间的处理
时间转换成时间戳
String s="2021-09-09 10:30:29";
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse(s);
long ts = date.getTime();
res = String.valueOf(ts);
System.out.println(res);
String 转换成时间类型
String endTime="2021-09-09 10:30:29";
SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = spf.parse(endTime);
时间之间的比较
String endTime="2021-09-09 10:30:29";
String time=endTime.substring(0,11)+"10:00:00";
SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = spf.parse(endTime);
java.util.Date date2 = spf.parse(time);
int num=0;
if(date.getTime()<date2.getTime()) {
}
当前时间往前减一天
String endTime="2021-09-05 03:30:29";
String nowtime=endTime.substring(0,10);
SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date startimes = spf.parse(nowtime);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
now.setTime(startimes);
String[] str=new String[5];
str[0]=nowtime;
for(int i=1;i<5;i++) {
now.add(Calendar.DAY_OF_MONTH, -1);
String times=sdf.format(now.getTime());
str[i]=times;
}
当前小时往后5小时
package time;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class x5 {
public static void main(String[] args) throws ParseException {
String endTime="2021-09-09 10:30:29";
String time=endTime.substring(0,11)+"10:00:00";
SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = spf.parse(endTime);
java.util.Date date2 = spf.parse(time);
int num=0;
if(date.getTime()<date2.getTime()) {
num=Integer.parseInt(endTime.substring(12,13));
}else {
num=Integer.parseInt(endTime.substring(11,13));
}
String[] str=new String[5];
int js=0;
if(num<=5) {
for(int i=0;i<5;i++) {
str[i]="0"+i+":00";
}
}else if(num<10) {
for(int i=num-4;i<=num;i++) {
str[js]="0"+i+":00";
js++;
}
}else {
for(int i=num-4;i<=num;i++) {
if(i==6) {
str[js]="0"+i+":00";
js++;
}
if(i==7) {
str[js]="0"+i+":00";
js++;
}
if(i==8) {
str[js]="0"+i+":00";
js++;
}
if(i==9) {
str[js]="0"+i+":00";
js++;
}
if(i>=10) {
str[js]=i+":00";
js++;
}
}
}
for(int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}
06:00
07:00
08:00
09:00
10:00
当天时间 显示年月日 时分秒
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class day5 {
public static void main(String[] args) throws ParseException {
String endTime="2021-09-05 15:30:29";
String time=endTime.substring(0,11)+"10:00:00";
SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = spf.parse(endTime);
java.util.Date date2 = spf.parse(time);
int num=0;
if(date.getTime()<date2.getTime()) {
num=Integer.parseInt(endTime.substring(12,13));
}else {
num=Integer.parseInt(endTime.substring(11,13));
}
String[] str=new String[num+1];
int js=0;
if(num<10) {
for(int i=0;i<=num;i++) {
if(i==0) {
str[i]=endTime.substring(0,10)+" 0"+i+":00-00:00";
}else {
str[i]=endTime.substring(0,10)+" 0"+i+":00-0"+(i+1)+":00";
}
}
}else{
for(int i=0;i<=9;i++) {
if(i==9) {
str[i]=endTime.substring(0,10)+" 0"+i+":00-"+(i+1)+":00";
}else {
str[i]=endTime.substring(0,10)+" 0"+i+":00-0"+(i+1)+":00";
}
}
for(int i=10;i<=num;i++) {
str[i]=endTime.substring(0,10)+" "+i+":00-"+(i+1)+":00";
}
}
for(int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}
2021-09-05 00:00-01:00
2021-09-05 01:00-02:00
2021-09-05 02:00-03:00
2021-09-05 03:00-04:00
2021-09-05 04:00-05:00
2021-09-05 05:00-06:00
2021-09-05 06:00-07:00
2021-09-05 07:00-08:00
2021-09-05 08:00-09:00
2021-09-05 09:00-10:00
2021-09-05 10:00-11:00
2021-09-05 11:00-12:00
2021-09-05 12:00-13:00
2021-09-05 13:00-14:00
2021-09-05 14:00-15:00
2021-09-05 15:00-16:00
当天时间 显示年月日 往后推5天
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class todaycomper {
public static void main(String[] args) throws ParseException {
String endTime="2021-09-05 03:30:29";
String nowtime=endTime.substring(0,10);
SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date startimes = spf.parse(nowtime);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
now.setTime(startimes);
String[] str=new String[5];
str[0]=nowtime;
for(int i=1;i<5;i++) {
now.add(Calendar.DAY_OF_MONTH, -1);
String times=sdf.format(now.getTime());
str[i]=times;
}
for(int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}
2021-09-05
2021-09-04
2021-09-03
2021-09-02
2021-09-01
当前时间天,往后推5天 Y/MM 形式
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class y5 {
public static void main(String[] args) throws ParseException {
String endTime="2021-09-07 09:18:42";
String nowtime=endTime.substring(0,10);
SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date startimes = spf.parse(nowtime);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
now.setTime(startimes);
String[] str=new String[5];
for(int i=0;i<5;i++) {
now.add(Calendar.DAY_OF_MONTH, -1);
String times=sdf.format(now.getTime());
str[i]=times.substring(6,7)+"/"+times.substring(8,10);
}
for(int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}
9/06
9/05
9/04
9/03
9/02
两日期时间之差
public static int daysBetween(String startTime,String endTime) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(startTime));
long time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(endTime));
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}