我正在blueJ的旅游公司写一个项目,我在日期方面遇到了一些问题。项目的目的是开发一个简化的系统,用于管理旅行社提供的度假套餐。简单的产品可能与航班,酒店预订,汽车租赁或活动有关。每个产品都包含开始和结束日期,我不知道在创建产品时如何写日期(格式)。我怎么能这样做?
如果以“dd / MM / yyyy”格式编写日期(创建产品时),我应该更改什么? 这是一种产品的创造:
public boolean createProductHotel(String ID, String name, String city, double price,Date start, Date end, int number, int stars)
{
Hotel hotel = new Hotel(ID, name, city, price, start, end, number, stars);
for (Product product : Products.values())
{
if (hotel.getID().equals(product.getID()))
{
return false;
}
}
Products.put(hotel.getID(),hotel);
return true;
}
答案 0 :(得分:0)
Java Date
对象只存储它所代表日期的UTC时间。它们在显示为UI功能时被格式化,并且在执行期间可以以多种格式显示一个Date
。将日期存储为实例数据时,无需格式化日期。
答案 1 :(得分:0)
存储时无需担心日期。仅在显示日期时才需要。以下代码可以帮助您
try {
String dateString = "20-05-1999 03:05:20";
SimpleDateFormat simpledateformat = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
SimpleDateFormat outputDateFormat = new SimpleDateFormat("dd-M-yyyy hh:mm");
Date startDate = simpledateformat.parse(dateString);
Calendar cal=Calendar.getInstance();
cal.setTime(startDate);
cal.add(Calendar.DAY_OF_MONTH, 6);
Date endDate=cal.getTime();
System.out.println("End date is = "+outputDateFormat.format(endDate));
} catch (ParseException ex) {
System.out.println("Parse exception");
}
在上面的代码中,我从一个字符串创建Date
并在该日期添加6天,然后以其他格式显示