594
社区成员
发帖
与我相关
我的任务
分享
public class Test2 {
//根据字符串转换成时间,并计算和当前时间相差几天
public static void main(String[] args) {
String s = "20100930";
Date d = null;
try {
d = new SimpleDateFormat("yyyyMMdd").parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(d.getTime());
System.out.println(new Date().getTime());
long num = d.getTime() - new Date().getTime();
System.out.println(num);
System.out.println(24*60*60*1000);
System.out.println(num/(24*60*60*1000));
}
}
public class Test3 {
//生成50个1到100之间的随机数,并且对其中的偶数进行降序排列
public static void main(String[] args) {
//生成随即50个数
Random r = new Random();
int[] arr = new int[50];
int length = arr.length;
for(int i=0; i<length; i++){
arr[i] = r.nextInt(100);
}
//将偶数去掉
for(int i=0; i<length; i++){
if(arr[i]%2 == 0){
arr[i] = 0;
}
}
//从小到大排序
for(int i=0; i<length; i++){
for(int j=0; j<i; j++){
if(arr[j] > arr[i]){
int k = arr[j];
arr[j] = arr[i];
arr[i] = k;
}
}
}
//从大到小输出,如果是0则不输出。
for(int i=length-1; i>0; i--){
if(arr[i] != 0){
System.out.print(arr[i] + " ");
}
}
}
}
public class Test4 {
//对一个int num[50] 数组先排序,然后让他里面的数能够打乱,类似洗牌效果
public static void main(String[] args) {
//生成随即50个数
int[] arr = new int[50];
int length = arr.length;
for(int i=0; i<length; i++){
arr[i] = i;
}
for(int i=0; i<length; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
//从小到大排序
for(int i=0; i<length; i++){
for(int j=0; j<i; j++){
if(arr[j] > arr[i]){
int k = arr[j];
arr[j] = arr[i];
arr[i] = k;
}
}
}
for(int i=length-1; i>0; i--){
System.out.print(arr[i] + " ");
}
System.out.println();
//打乱顺序(随即选取一个数和当前循环的位置互换顺序)
Random r = new Random();
for(int i=0; i<length; i++){
int j = r.nextInt(50);
int k = arr[i];
arr[i] = arr[j];
arr[j] = k;
}
for(int i=0; i<length; i++){
System.out.print(arr[i] + " ");
}
}
}
方法一:
import java.util.Date;
public class SimpleDate {
public static void main(String[] args) {
String sDate = "20020730";
Date date1 = null;
Date date2 = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
try {
date1 = sf.parse(sDate);
System.out.println("相差的天数:"+ (date2.getTime()-date1.getTime())/(24*60*60*1000));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
方法二:
package com.lushan.simple;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class SimpleCalendar {
public int getDaysBetween (String beginDate, Date eDate) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date bDate = format.parse(beginDate);
Calendar d1 = new GregorianCalendar();
d1.setTime(bDate);
Calendar d2 = new GregorianCalendar();
d2.setTime(eDate);
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2) {
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}
public static void main(String[] args) {
SimpleCalendar simple = new SimpleCalendar();
try {
long count = simple.getDaysBetween("2002-07-30", new Date());
System.out.println(count);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}