日期格式无效

Sal*_*han -2 java date liferay java-7

我试图将字符串转换为日期,我希望该日期为这种格式'yyyy-MM-d HH:mm:ss'而我没有如何在字符串中获取此格式我的问题是我想要获取日期以上格式不是字符串而是'日期'?

我这样做

for(int k=0;k<12;k++)//for the months
{
     //i have added if condtion for the months with 31 and 30 and 28 days
    Calendar dateFromCal = Calendar.getInstance();
    dateFromCal.setTime(date);
    dateFromCal.set(year, k, 1, 0, 0, 0);

    Calendar dateToCal = Calendar.getInstance();
    dateToCal.setTime(date);
    dateToCal.set(year, k, 31, 23, 59, 59);

    //i have set the date format as 'yyyy:MM:dd HH:mm:ss'  
    dateFrom = dateFormat.format(dateFromCal.getTime());
    dateTo = dateFormat.format(dateToCal.getTime());

    fromdate = (Date)dateFormat.parse(dateFrom);
    todate = (Date)dateFormat.parse(dateTo);

}       
Run Code Online (Sandbox Code Playgroud)

通过使用上面的代码我得到以下格式的日期

Sat Nov 01 00:00:00 GMT 2014
Run Code Online (Sandbox Code Playgroud)

但我希望日期格式为

2014-11-01 00:00:00
Run Code Online (Sandbox Code Playgroud)

注意:我希望此结果为Date而不是String

请给我解决方案谢谢....

Jon*_*eet 6

我想让上面格式的日期不是字符串而是'日期'?

你要求的是Date一种特定的格式 - 就像说"我想要一种int十六进制格式".一个Date具有的格式-这只是时间瞬间.它不知道日历系统或时区 - 自Unix时代以来只有几毫秒.如果你想要一个格式化的值,那就是一个字符串.

您可能应该保持Date原样,并在以后格式化,更靠近UI.

  • 仔细阅读@Jon所说的内容:`Date`对象*没有格式*."DateFormat"对象可用于生成"Date"的String表示,但"Date"本身没有固有的格式. (5认同)