我该如何格式化日期

时间:2014-01-07 01:02:38

标签: java date

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

2 个答案:

答案 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天,然后以其他格式显示