如何从Java的Calendar中获取仅含日期不含时间的字符串?
获取不含时间的日期字符串的简单方案
没问题呀!你当前的代码里calendar.getTime()返回的是包含时间信息的Date对象,直接转为字符串会带上时分秒内容。要拿到纯日期的字符串,用SimpleDateFormat就能轻松实现,完全适合Java新手~
具体修改步骤很简单:
- 先创建一个
SimpleDateFormat实例,指定你需要的日期格式(比如常用的yyyy-MM-dd) - 用这个格式化对象把处理后的
Date对象转换成纯日期字符串
修改后的完整代码如下:
Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.add(Calendar.DATE, 1); // 创建日期格式化器,定义纯日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 将Date对象格式化为纯日期字符串 String pureDate = sdf.format(calendar.getTime()); // 输出示例:2024-05-20 System.out.println(pureDate);
额外小推荐:Java 8+更简洁的写法(可选)
如果你使用的是Java 8及以上版本,推荐用Java官方推出的java.time新日期API,代码更直观还线程安全:
// 直接获取明天的日期 LocalDate tomorrow = LocalDate.now().plusDays(1); // 默认输出格式就是yyyy-MM-dd的纯日期字符串 String defaultFormatDate = tomorrow.toString(); // 也可以自定义格式,比如yyyy/MM/dd DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd"); String customFormatDate = tomorrow.format(formatter);
这个方案是不是比那些复杂的帖子友好多啦😉
内容的提问来源于stack exchange,提问作者stefanosn
相关产品推荐
相关产品推荐

