安卓SimpleDateFormat自定义时间格式减一天打印
时间: 2023-06-03 08:06:46 浏览: 92
日期问题,可以回答。您可以通过以下代码来减一天并打印日期:
```
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, -1);
Date newDate = calendar.getTime();
String dateString = sdf.format(newDate);
System.out.println(dateString);
```
以上代码会将当前日期减一天,并以 yyyy-MM-dd 格式打印出来。
相关问题
java自定义dateformat_java-使用SimpleDateFormat解析自定义时间格式
好的,我再为您补充一些关于使用 SimpleDateFormat 解析自定义时间格式的内容。
SimpleDateFormat 是 Java 中用于格式化和解析日期时间的类,它可以将日期时间对象格式化为字符串,也可以将字符串解析为日期时间对象。可以通过在构造函数中传入自定义的日期时间格式字符串来控制日期时间的格式。
下面是一个更详细的示例代码,演示了如何使用 SimpleDateFormat 解析自定义时间格式:
```
String dateString = "2021-05-20T09:30:00";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // 设置时区为 UTC
Date date = dateFormat.parse(dateString);
System.out.println(date);
```
在上面的代码中,我们首先定义了一个时间字符串 dateString,它的格式为 "yyyy-MM-dd'T'HH:mm:ss"。然后,我们创建了一个 SimpleDateFormat 对象 dateFormat,它的时间格式与 dateString 相同。由于时间字符串中的时区为 UTC,我们还通过 setTimeZone() 方法将 dateFormat 的时区设置为 UTC。
最后,我们使用 dateFormat 的 parse() 方法将 dateString 解析为一个 Date 对象,然后将其打印出来。
需要注意的是,SimpleDateFormat 是非线程安全的,如果在多线程环境下使用,需要考虑线程安全问题。
整理SimpleDateFormat日期时间格式符号
以下是常用的SimpleDateFormat日期时间格式符号:
| 符号 | 含义 |
| --- | --- |
| y | 年份 |
| M | 月份 |
| d | 月中的第几天 |
| H | 一天中的小时数(0-23) |
| m | 小时中的分钟数 |
| s | 分钟中的秒数 |
| S | 毫秒数 |
例如,要将日期格式化为"2021年07月01日 12:30:45",可以使用以下格式符号:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String formattedDate = sdf.format(new Date());
System.out.println(formattedDate); // 输出:2021年07月01日 12:30:45
```