2014-01-07 81 views
-1

我正在用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; 
} 
+3

的一种格式是不一样的东西概念实体背后。任何给定的日期都可以以各种方式进行格式化,并且这样做应该保留为UI功能。类似于任何给定的浮点数。 – Stewart

+0

该源代码与以格式编写日期有什么关系? –

回答

0

一个Java对象Date只存储它代表日期的UTC时间。它们在显示为UI功能时被格式化,并且在执行期间可以以多种格式显示一个。当它们作为实例数据存储时,您不需要格式化日期。

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天,该日期,然后以另一种格式显示