我想获取一个新Date对象并对其SimpleDateFormat应用。我想做类似的事情:
Date
SimpleDateFormat
SimpleDateFormat myFormat = new SimpleDateFormat("dd MMM yyyy kkmm"); Date today = new Date(); today = myFormat.format(today);
我无法执行此操作,因为今天是Date,并且format返回String。我也尝试过:
format
String
Date today; SimpleDateFormat myFormat = new SimpleDateFormat("dd MMM yyyy kkmm"); try{ today = myFormat.parse((new Date()).toString()); }catch(Exception e){ }
这不是一个很好的解决方案,因为当我今天尝试在其他地方使用Java时,它抱怨今天可能尚未实例化。什么是更改Date对象格式的好方法(同时仍将其保留为Date对象,而不是将其转换为字符串)?
您正在错误地查看格式和日期。
因此,想法是当您必须显示日期或必须以某种字符串表示形式存储日期时,将使用SimpleDateFormat并将所需的字符串表示形式传递给它。
*这样做的 *好处 是,我可以使用相同的Date对象,并且可以显示两个不同的字符串表示形式(使用两个不同的SimpleDateFormat实例)。反之亦然,定义了一个SimpleDateFormat实例后,我可以格式化多个日期。
编辑:
现在,如果您想从日期中删除一些信息。用
Calendar rightNow = Calendar.getInstance(); Calendar cal = new GregorianCalendar( rightNow.get(YEAR), rightNow.get(MONTH), rightNow.get(DAY_OF_MONTH)); Date now = cal.getTime();
还有像JodaTime这样的优质产品
参考:
阳历 日历 乔达时间