DVD管理系统:为某音像店开发一个迷你DVD管理器,实现DVD碟片的管理,包括如下功能:
2017-12-08 16:07
926 查看
package com.sxt.oop.dvd;
/**
* DVD类
* @author ty
*
*/
public class Dvd implements Comparable<Dvd>{
//存放DVD名
private String dvdNames ;
//存放借出状态的数组,false为可借,true为不可借
private boolean status ;
//存放借DVD日期
private String loanDates ;
//DVD借出次数
private int count;
/**
* 构造方法
*/
public Dvd(){
}
public Dvd(String dvdNames) {
this.dvdNames = dvdNames;
}
public Dvd(String dvdNames, boolean status, String loanDates) {
super();
this.dvdNames = dvdNames;
this.status = status;
this.loanDates = loanDates;
}
/**
* set get方法
* @return
*/
public String getDvdNames() {
return dvdNames;
}
public void setDvdNames(String dvdNames) {
this.dvdNames = dvdNames;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public String getLoanDates() {
return loanDates;
}
public void setLoanDates(String loanDates) {
this.loanDates = loanDates;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((dvdNames == null) ? 0 : dvdNames.hashCode());
result = prime * result
+ ((loanDates == null) ? 0 : loanDates.hashCode());
result = prime * result + (status ? 1231 : 1237);
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Dvd other = (Dvd) obj;
if (dvdNames == null) {
if (other.dvdNames != null)
return false;
} else if (!dvdNames.equals(other.dvdNames))
return false;
if (loanDates == null) {
if (other.loanDates != null)
return false;
} else if (!loanDates.equals(other.loanDates))
return false;
if (status != other.status)
return false;
return true;
}
@Override
public String toString() {
return (status?"已借出":"可借")+"\t\t<<"+dvdNames+">>\t\t\t"+(loanDates==null?"":loanDates)+"\t\t"+count+"\n";
}
/**
* 比较借出次数的方法
*/
@Override
public int compareTo(Dvd o) {
return o.count-this.count;
}
/**
* 借出次数自增方法
*/
public void increment(){
count++;
}
}
package com.sxt.oop.dvd;
import java.text.ParseException;
import java.util.Arrays;
import java.util.Date;
/**
* DVD商店类
* @author ty
*
*/
public class DvdShop {
//存放多个dvd对象
private Dvd[] dvds;
private String name;
//记录元素的位置 :top的位置是有内容的
private int top=-1;
/**
* 构造方法
*/
public DvdShop(){
dvds = new Dvd[50];
}
public DvdShop(String name){
this();
this.name = name;
}
/**
* 用户自定义数组的大小
* @param capacity
*/
public DvdShop(int capacity,String name){
if(capacity<=0){
throw new RuntimeException("容量不能小于等于0");
}
dvds = new Dvd[capacity];
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + Arrays.hashCode(dvds);
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + top;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
DvdShop other = (DvdShop) obj;
if (!Arrays.equals(dvds, other.dvds))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (top != other.top)
return false;
return true;
}
@Override
public String toString() {
return "DvdShop [dvds=" + Arrays.toString(dvds) + ", name=" + name
+ ", top=" + top + "]";
}
/**
* 根据名字查找dvd的位置
* @param name
* @return
*/
public int indexOf(String name){
int index=-1;
for(int i=0;i<=top;i++){
if(name.equals(dvds[i].getDvdNames())){
index= i;
break;
}
}
return index;
}
/**
* 查:存储空间是否已满
* @return
*/
public boolean isFull(){
return top==dvds.length-1;
}
/**
* 查:存储空间是否已空
* @return
*/
public boolean isEmpty(){
return top==-1;
}
public boolean rent(String name){
int index= indexOf(name);
if(index==-1){
throw new RuntimeException("此 dvd不存在,借出失败");
}
if(dvds[index].isStatus()){
throw new RuntimeException("此 dvd已借出,借出失败");
}
Dvd dvd =dvds[index];
dvd.setStatus(true);
dvd.setLoanDates(DateHelper.getDateStr());
//dvd.setCount(dvd.getCount()+1);
dvd.increment();
return true;
}
/**
* 将index位置的dvd取出
* @param index
* @return
*/
public Dvd get(int index){
if(index<0 ||index>top){
throw new RuntimeException("位置不存在");
}
return dvds[index];
}
/**
* 返回dvd的数量
* @return
*/
public int size(){
return top+1;
}
/**
* 新增DVD
*/
public boolean add(String name){
//如果满了抛出异常
if(isFull()){
throw new RuntimeException("存储空间已满");
}
//index为新输入dvd的位置,如果>=0,则dvd存在
int index = indexOf(name);
if(index>=0){
throw new RuntimeException("此dvd已存在");
}
//top为-1,所以要先++
dvds[++top] = new Dvd(name);
return true;
}
/**
* 删除DVD
*/
public boolean delete(String name){
//如果为空抛出异常
if(isEmpty()){
throw new RuntimeException("存储空间为空,无法删除");
}
//找dvd的位置
int index = indexOf(name);
//如果不存在,返回false
if(index==-1){
throw new RuntimeException("此 dvd不存在,借出失败");
}
//如果存在 通过移位来覆盖被删除的元素
for(int i=index;i<=top;i++){
dvds[i] =dvds[i+1];
}
//改变top
top--;
return true;
}
/**
* 借出DVD loan
*/
public boolean loan(String name) {
//如果为空抛出异常
if(isEmpty()){
throw new RuntimeException("存储空间为空,无法借出");
}
//找dvd的位置
int index = indexOf(name);
//如果不存在,返回false
if(index==-1){
throw new RuntimeException("此 dvd不存在,借出失败");
}
if(dvds[index].isStatus()){
throw new RuntimeException("此 dvd已借出,借出失败");
}
//如果存在 将dvd的借出状态改为true
dvds[index].setStatus(true);
//得到借出日期
dvds[index].setLoanDates(DateHelper.getDateStr());
//借出次数加1
dvds[index].increment();
return true;
}
/**
* 归还DVD back
*/
public int back(String name) throws ParseException {
//如果满了抛出异常
if(isFull()){
throw new RuntimeException("存储空间已满");
}
//找dvd的位置
int index = indexOf(name);
//如果不存在
if(index==-1){
throw new RuntimeException("此 dvd不存在,归还失败");
}
if(dvds[index].isStatus()==false){
throw new RuntimeException("此 dvd未借出,归还失败");
}
//把借出状态改为可借
dvds[index].setStatus(false);
//保存日期的字符串,先先原来的数据copy一下,再传新数据
String loanDates_bak = dvds[index].getLoanDates();
//把借出日期改为null
dvds[index].setLoanDates(null);
Date date1 = DateHelper.getStrDate(loanDates_bak);
Date date2 = new Date();
int days=DateHelper.getDays(date1, date2);
//计算租金 :租金=日期差*(租金/每天)
int rent = days*1;
return rent;
}
public void sort(){
Arrays.sort(dvds,0,top+1);
}
}
package com.sxt.oop.dvd;
/**
* DVDUI
*/
import java.text.ParseException;
import java.util.Scanner;
public class DvdUI {
private static DvdShop shop =null;
static Scanner input =new Scanner(System.in);
public DvdUI(String name){
shop = new DvdShop(name);
}
public void init(){
shop.add("猎场");
shop.add("77天");
shop.add("正义联盟");
}
public void mainMenu() throws ParseException{
System.out.println("欢迎使用<<"+shop.getName()+">>DVD管理器");
System.out.println("---------------------");
System.out.println("1.新增DVD");
System.out.println("2.查看DVD");
System.out.println("3.删除DVD");
System.out.println("4.借出DVD");
System.out.println("5.归还DVD");
System.out.println("6.归还排行榜");
System.out.println("7.退 出");
System.out.println("---------------------");
System.out.print("请选择 :");
int choice = input.nextInt();
switch(choice) {
case 1:
add();
break;
case 2:
show();
break;
case 3:
delete();
break;
case 4:
loan();
break;
case 5:
back();
break;
case 6:
sort();
break;
case 7:
System.out.println("感谢您的使用,程序将在3秒后关闭.....");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.exit(0);
break;
}
System.out.print("输入任意键返回:");
input.next();
mainMenu();
}
/**
* 添加dvd
*/
public void add(){
System.out.println("---->添加dvd");
//1.提示用户输入dvd的名字
System.out.print("请输入需要入库的dvd名称:");
String name = input.next();
//3.将dvd的名字放进去
try{
shop.add(name);
//4.提示成功
System.out.println("添加<<"+name+">>成功");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/**
* 查询dvd
*/
public void show(){
System.out.println("--->查看dvd");
if(shop.isEmpty()){
System.out.println("没有任何dvd信息");
return;
}
System.out.println("序号\t状态\t\t名称\t\t\t借出日期\t\t\t借出次数");
//循环输出信息
for(int i=0;i<shop.size();i++){
System.out.println(i+"\t"+shop.get(i));
}
System.out.println("***************************");
}
/*
* 删除DVD delete
*/
public static void delete() {
System.out.println("------>删除DVD");
System.out.println();
System.out.print("请输入DVD名称:");
String name = input.next();
//3.将dvd的名字放进去
try{
shop.delete(name);
//4.提示成功
System.out.println("删除《"+name+"》成功!");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/*
* 借出DVD loan
*/
public static void loan() {
System.out.println("------>借出DVD");
System.out.println();
System.out.print("请输入DVD名称:");
String name = input.next();
try{
shop.loan(name);
//4.提示成功
System.out.println("借出《"+name+"》成功!");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/*
* 归还DVD back
*/
public static void back() throws ParseException {
System.out.println("------>归还DVD");
System.out.println();
System.out.print("请输入DVD名称:");
String name = input.next();
try{
int rent = shop.back(name);
System.out.println("租金为:"+rent);
//4.提示成功
System.out.println("归还《"+name+"》成功!");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/**
* 排序
*/
public void sort(){
System.out.println("排序DVD");
shop.sort();
show();
System.out.println("***************************");
}
}
package com.sxt.oop.dvd;
/**DVD客户端
*/
import java.text.ParseException;
public class Start {
public static void main(String[] args) throws ParseException {
DvdUI ui =new DvdUI("伪装者");
ui.init();
ui.mainMenu();
}
}
package com.sxt.oop.dvd;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 时间帮助类
* @author ty
*
*/
public class DateHelper {
/**
* 将系统时间变成字符串格式
* @return
*/
public static String getDateStr() {
//得到系统当前时间
Date date =new Date();
//构建日期格式化对象,用于将字符串转成日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = sdf.format(date);
return str;
}
/**
* 将字符串格式的时间变成系统时间
* @param strDate 字符串格式的时间
* @return 转化的时间
* @throws ParseException
*/
public static Date getStrDate(String strDate) throws ParseException{
//构建日期格式化对象,用于将字符串转成日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(strDate);
return date;
}
/**
* 计算两个时间的差值
* @param date1
* @param date2
* @return 两个天数差
*/
public static int getDays(Date date1,Date date2){
//获取日期对应的毫秒数(1970-01-01 0点开始记录的毫秒数) ,相减得到毫秒差
long mills= Math.abs(date2.getTime()-date1.getTime());
//将毫秒转成天
int days=(int)(mills/1000/60/60/24);
return days;
}
}
package com.sxt.oop.dvd;
/**
* DVD类
* @author ty
*
*/
public class Dvd implements Comparable<Dvd>{
//存放DVD名
private String dvdNames ;
//存放借出状态的数组,false为可借,true为不可借
private boolean status ;
//存放借DVD日期
private String loanDates ;
//DVD借出次数
private int count;
/**
* 构造方法
*/
public Dvd(){
}
public Dvd(String dvdNames) {
this.dvdNames = dvdNames;
}
public Dvd(String dvdNames, boolean status, String loanDates) {
super();
this.dvdNames = dvdNames;
this.status = status;
this.loanDates = loanDates;
}
/**
* set get方法
* @return
*/
public String getDvdNames() {
return dvdNames;
}
public void setDvdNames(String dvdNames) {
this.dvdNames = dvdNames;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public String getLoanDates() {
return loanDates;
}
public void setLoanDates(String loanDates) {
this.loanDates = loanDates;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((dvdNames == null) ? 0 : dvdNames.hashCode());
result = prime * result
+ ((loanDates == null) ? 0 : loanDates.hashCode());
result = prime * result + (status ? 1231 : 1237);
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Dvd other = (Dvd) obj;
if (dvdNames == null) {
if (other.dvdNames != null)
return false;
} else if (!dvdNames.equals(other.dvdNames))
return false;
if (loanDates == null) {
if (other.loanDates != null)
return false;
} else if (!loanDates.equals(other.loanDates))
return false;
if (status != other.status)
return false;
return true;
}
@Override
public String toString() {
return (status?"已借出":"可借")+"\t\t<<"+dvdNames+">>\t\t\t"+(loanDates==null?"":loanDates)+"\t\t"+count+"\n";
}
/**
* 比较借出次数的方法
*/
@Override
public int compareTo(Dvd o) {
return o.count-this.count;
}
/**
* 借出次数自增方法
*/
public void increment(){
count++;
}
}
package com.sxt.oop.dvd;
import java.text.ParseException;
import java.util.Arrays;
import java.util.Date;
/**
* DVD商店类
* @author ty
*
*/
public class DvdShop {
//存放多个dvd对象
private Dvd[] dvds;
private String name;
//记录元素的位置 :top的位置是有内容的
private int top=-1;
/**
* 构造方法
*/
public DvdShop(){
dvds = new Dvd[50];
}
public DvdShop(String name){
this();
this.name = name;
}
/**
* 用户自定义数组的大小
* @param capacity
*/
public DvdShop(int capacity,String name){
if(capacity<=0){
throw new RuntimeException("容量不能小于等于0");
}
dvds = new Dvd[capacity];
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + Arrays.hashCode(dvds);
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + top;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
DvdShop other = (DvdShop) obj;
if (!Arrays.equals(dvds, other.dvds))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (top != other.top)
return false;
return true;
}
@Override
public String toString() {
return "DvdShop [dvds=" + Arrays.toString(dvds) + ", name=" + name
+ ", top=" + top + "]";
}
/**
* 根据名字查找dvd的位置
* @param name
* @return
*/
public int indexOf(String name){
int index=-1;
for(int i=0;i<=top;i++){
if(name.equals(dvds[i].getDvdNames())){
index= i;
break;
}
}
return index;
}
/**
* 查:存储空间是否已满
* @return
*/
public boolean isFull(){
return top==dvds.length-1;
}
/**
* 查:存储空间是否已空
* @return
*/
public boolean isEmpty(){
return top==-1;
}
public boolean rent(String name){
int index= indexOf(name);
if(index==-1){
throw new RuntimeException("此 dvd不存在,借出失败");
}
if(dvds[index].isStatus()){
throw new RuntimeException("此 dvd已借出,借出失败");
}
Dvd dvd =dvds[index];
dvd.setStatus(true);
dvd.setLoanDates(DateHelper.getDateStr());
//dvd.setCount(dvd.getCount()+1);
dvd.increment();
return true;
}
/**
* 将index位置的dvd取出
* @param index
* @return
*/
public Dvd get(int index){
if(index<0 ||index>top){
throw new RuntimeException("位置不存在");
}
return dvds[index];
}
/**
* 返回dvd的数量
* @return
*/
public int size(){
return top+1;
}
/**
* 新增DVD
*/
public boolean add(String name){
//如果满了抛出异常
if(isFull()){
throw new RuntimeException("存储空间已满");
}
//index为新输入dvd的位置,如果>=0,则dvd存在
int index = indexOf(name);
if(index>=0){
throw new RuntimeException("此dvd已存在");
}
//top为-1,所以要先++
dvds[++top] = new Dvd(name);
return true;
}
/**
* 删除DVD
*/
public boolean delete(String name){
//如果为空抛出异常
if(isEmpty()){
throw new RuntimeException("存储空间为空,无法删除");
}
//找dvd的位置
int index = indexOf(name);
//如果不存在,返回false
if(index==-1){
throw new RuntimeException("此 dvd不存在,借出失败");
}
//如果存在 通过移位来覆盖被删除的元素
for(int i=index;i<=top;i++){
dvds[i] =dvds[i+1];
}
//改变top
top--;
return true;
}
/**
* 借出DVD loan
*/
public boolean loan(String name) {
//如果为空抛出异常
if(isEmpty()){
throw new RuntimeException("存储空间为空,无法借出");
}
//找dvd的位置
int index = indexOf(name);
//如果不存在,返回false
if(index==-1){
throw new RuntimeException("此 dvd不存在,借出失败");
}
if(dvds[index].isStatus()){
throw new RuntimeException("此 dvd已借出,借出失败");
}
//如果存在 将dvd的借出状态改为true
dvds[index].setStatus(true);
//得到借出日期
dvds[index].setLoanDates(DateHelper.getDateStr());
//借出次数加1
dvds[index].increment();
return true;
}
/**
* 归还DVD back
*/
public int back(String name) throws ParseException {
//如果满了抛出异常
if(isFull()){
throw new RuntimeException("存储空间已满");
}
//找dvd的位置
int index = indexOf(name);
//如果不存在
if(index==-1){
throw new RuntimeException("此 dvd不存在,归还失败");
}
if(dvds[index].isStatus()==false){
throw new RuntimeException("此 dvd未借出,归还失败");
}
//把借出状态改为可借
dvds[index].setStatus(false);
//保存日期的字符串,先先原来的数据copy一下,再传新数据
String loanDates_bak = dvds[index].getLoanDates();
//把借出日期改为null
dvds[index].setLoanDates(null);
Date date1 = DateHelper.getStrDate(loanDates_bak);
Date date2 = new Date();
int days=DateHelper.getDays(date1, date2);
//计算租金 :租金=日期差*(租金/每天)
int rent = days*1;
return rent;
}
public void sort(){
Arrays.sort(dvds,0,top+1);
}
}
package com.sxt.oop.dvd;
/**
* DVDUI
*/
import java.text.ParseException;
import java.util.Scanner;
public class DvdUI {
private static DvdShop shop =null;
static Scanner input =new Scanner(System.in);
public DvdUI(String name){
shop = new DvdShop(name);
}
public void init(){
shop.add("猎场");
shop.add("77天");
shop.add("正义联盟");
}
public void mainMenu() throws ParseException{
System.out.println("欢迎使用<<"+shop.getName()+">>DVD管理器");
System.out.println("---------------------");
System.out.println("1.新增DVD");
System.out.println("2.查看DVD");
System.out.println("3.删除DVD");
System.out.println("4.借出DVD");
System.out.println("5.归还DVD");
System.out.println("6.归还排行榜");
System.out.println("7.退 出");
System.out.println("---------------------");
System.out.print("请选择 :");
int choice = input.nextInt();
switch(choice) {
case 1:
add();
break;
case 2:
show();
break;
case 3:
delete();
break;
case 4:
loan();
break;
case 5:
back();
break;
case 6:
sort();
break;
case 7:
System.out.println("感谢您的使用,程序将在3秒后关闭.....");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.exit(0);
break;
}
System.out.print("输入任意键返回:");
input.next();
mainMenu();
}
/**
* 添加dvd
*/
public void add(){
System.out.println("---->添加dvd");
//1.提示用户输入dvd的名字
System.out.print("请输入需要入库的dvd名称:");
String name = input.next();
//3.将dvd的名字放进去
try{
shop.add(name);
//4.提示成功
System.out.println("添加<<"+name+">>成功");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/**
* 查询dvd
*/
public void show(){
System.out.println("--->查看dvd");
if(shop.isEmpty()){
System.out.println("没有任何dvd信息");
return;
}
System.out.println("序号\t状态\t\t名称\t\t\t借出日期\t\t\t借出次数");
//循环输出信息
for(int i=0;i<shop.size();i++){
System.out.println(i+"\t"+shop.get(i));
}
System.out.println("***************************");
}
/*
* 删除DVD delete
*/
public static void delete() {
System.out.println("------>删除DVD");
System.out.println();
System.out.print("请输入DVD名称:");
String name = input.next();
//3.将dvd的名字放进去
try{
shop.delete(name);
//4.提示成功
System.out.println("删除《"+name+"》成功!");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/*
* 借出DVD loan
*/
public static void loan() {
System.out.println("------>借出DVD");
System.out.println();
System.out.print("请输入DVD名称:");
String name = input.next();
try{
shop.loan(name);
//4.提示成功
System.out.println("借出《"+name+"》成功!");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/*
* 归还DVD back
*/
public static void back() throws ParseException {
System.out.println("------>归还DVD");
System.out.println();
System.out.print("请输入DVD名称:");
String name = input.next();
try{
int rent = shop.back(name);
System.out.println("租金为:"+rent);
//4.提示成功
System.out.println("归还《"+name+"》成功!");
}catch (RuntimeException e) {
System.out.println(e);
}
System.out.println("***************************");
}
/**
* 排序
*/
public void sort(){
System.out.println("排序DVD");
shop.sort();
show();
System.out.println("***************************");
}
}
package com.sxt.oop.dvd;
/**DVD客户端
*/
import java.text.ParseException;
public class Start {
public static void main(String[] args) throws ParseException {
DvdUI ui =new DvdUI("伪装者");
ui.init();
ui.mainMenu();
}
}
package com.sxt.oop.dvd;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 时间帮助类
* @author ty
*
*/
public class DateHelper {
/**
* 将系统时间变成字符串格式
* @return
*/
public static String getDateStr() {
//得到系统当前时间
Date date =new Date();
//构建日期格式化对象,用于将字符串转成日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = sdf.format(date);
return str;
}
/**
* 将字符串格式的时间变成系统时间
* @param strDate 字符串格式的时间
* @return 转化的时间
* @throws ParseException
*/
public static Date getStrDate(String strDate) throws ParseException{
//构建日期格式化对象,用于将字符串转成日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(strDate);
return date;
}
/**
* 计算两个时间的差值
* @param date1
* @param date2
* @return 两个天数差
*/
public static int getDays(Date date1,Date date2){
//获取日期对应的毫秒数(1970-01-01 0点开始记录的毫秒数) ,相减得到毫秒差
long mills= Math.abs(date2.getTime()-date1.getTime());
//将毫秒转成天
int days=(int)(mills/1000/60/60/24);
return days;
}
}
相关文章推荐
- 学生社团管理系统 任务:通过此系统可以实现如下功能(包含但不限于以下功能,可自行设计): 1、社团信息包括:社团编号、社团名称、成立时间…… 2、学生信息包括:学号、姓名、性别、年级、专业…… 3
- 第四篇 ANDROID窗口管理服务实现机制 窗口管理是ANDROID框架一个重要部分,主要包括如下功能: (1)Z-ordered的维护 (2)窗口的创建、销
- 通用权限管理系统组件 中后一个登录的把前一个登录的踢掉功能的实现
- jsp开发学生信息管理系统,实现了基本的增删改查的功能
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现
- 模块管理常规功能自定义系统的设计与实现(56--开源开发测试版发布 )
- 功能:做一个公司的职员薪水管理系统,要求完成如下功能:
- 设计一个学生成绩管理系统,实现对学生成绩的动态管理,实现对学生成绩的输入,显示,删除,查找,插入,最佳,保存,计算,排序等主要功能
- 使用 XForms 和 Ruby on Rails 开发小型门诊管理系统,第 3 部分:实现护士和医生 XForm
- (C语言) 怎么用代码实现一个学生成绩管理系统
- 基于UML和ASP.NET实现三层B/S学生管理系统开发
- 基于UML和ASP.NET实现三层B/S结构学籍管理系统开发
- 这是一个关于XML文档的操作管理器XMLHelper类,类中包括XML文档的创建,文档节点和属性的读取,添加,修改,删除的方法功能的实现
- 一个使用监听器模式实现的J2ME网络编程框架,包括一个简单的登录功能实现(含源代码)
- 使用ant实现svn管理得eclipse插件开发项目的日构建功能(ant1.7.1+svn1.6.3+eclipse3.4.2)
- 一个选课管理系统-java实现
- 一个电子商务网站的系统结构及功能实现分析
- 使用 XForms 和 Ruby on Rails 开发小型门诊管理系统,第 3 部分:实现护士和医生 Xform
- 最近预计使用C#.NET开发一个财产管理系统
- 用SBT实现一个学生健康管理系统...