Android SimpleDateFormat.parse
时间: 2024-08-13 11:03:42 浏览: 45
`SimpleDateFormat.parse()` 是 Android 中 `java.text.SimpleDateFormat` 类的一个静态方法,用于将给定的字符串解析成日期时间对象。这个方法接受一个表示日期时间格式的字符串作为参数,并尝试按照指定的模式将其转换为 `Date` 对象。例如:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2023-04-01 15:30:00";
try {
Date date = SimpleDateFormat.parse(dateString);
// 打印解析后的日期
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace(); // 处理解析错误
}
```
在这个例子中,如果输入的字符串格式与指定的模式匹配,就会成功解析;如果不匹配,则会抛出 `ParseException` 异常。
相关问题
SimpleDateFormat 和 DateTimeFormatter的使用方式
Sure! Here's how you can use SimpleDateFormat and DateTimeFormatter in Android:
1. SimpleDateFormat:
- Create an instance of SimpleDateFormat by specifying the desired pattern.
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
```
- Format a Date object to a formatted string using the format() method.
```java
String formattedDate = sdf.format(new Date());
```
- Parse a formatted string back to a Date object using the parse() method.
```java
Date date = sdf.parse("2022-01-01 12:00:00");
```
2. DateTimeFormatter (Java 8+):
- Create an instance of DateTimeFormatter by specifying the desired pattern.
```java
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
```
- Format a LocalDateTime object to a formatted string using the format() method.
```java
String formattedDateTime = dtf.format(LocalDateTime.now());
```
- Parse a formatted string back to a LocalDateTime object using the parse() method.
```java
LocalDateTime dateTime = LocalDateTime.parse("2022-01-01 12:00:00", dtf);
```
Remember to handle any potential ParseException when parsing the formatted string back to a Date or LocalDateTime object.
These are just basic examples, and you can customize the patterns and use additional methods provided by SimpleDateFormat and DateTimeFormatter based on your specific requirements.
SimpleDateFormat求时间差
SimpleDateFormat类本身并不能直接求解时间差。它是一个用于日期格式化和解析的类,用于将日期对象转换为指定格式的字符串,或者将字符串解析为日期对象。要计算时间差,你可以使用Date类的getTime()方法将日期对象转换为毫秒数,然后进行计算。下面是一个示例代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date startDate = sdf.parse("2003/05/09 00:00");
Date endDate = sdf.parse("2015/01/26 00:00");
long startTime = startDate.getTime();
long endTime = endDate.getTime();
long timeDifference = endTime - startTime;
请注意,这个方法计算的是毫秒级别的差值,如果需要以天、小时、分钟等单位表示时间差,你可以将毫秒数转换为相应的单位。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Java计算时间差、日期差总结](https://blog.csdn.net/sy793314598/article/details/79544796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [Android利用SimpleDateFormat计算时间差获得消耗时长](https://blog.csdn.net/ymtianyu/article/details/106661826)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]