我使用的报告工具只支持一行表达式
举个例子,我想得到昨天的日期
Calendar类有一个add方法,但它返回void
Calendar.getInstance().add(Calendar.DAY_OF_MONTH,-1).getTime()
Run Code Online (Sandbox Code Playgroud)
没用
不知道怎么做到这一点
谢谢
如果它确实必须是一行代码并且代码是否可以理解并不重要,我认为以下语句应该有效:
Date yesterday = new SimpleDateFormat("yyyyMMdd").parse(
""+(Integer.parseInt(new SimpleDateFormat("yyyyMMdd").format(new Date()))-1));
Run Code Online (Sandbox Code Playgroud)
它将当前日期格式化为“yyyyMMdd”,例如今天的“20100812”,将其解析为 int:20100812,减去一:20100811,然后使用之前的格式解析日期“20100811”。如果今天是一个月的第一天,它也将起作用,因为一个月的 0 号被宽松的 DateFormat 解析为上个月的最后一天。
格式“yyyyDDD”也应该有效(D 是一年中的某一天)。
对于当月的第一天,您可以使用类似的技巧:
Date firstday = new SimpleDateFormat("yyyyMMdd").parse(
new SimpleDateFormat("yyyyMM").format(new Date())+"01");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8341 次 |
最近记录: |