android 时间格式yyyyMMDDHHmmss转成long
时间: 2025-06-25 15:13:35 浏览: 11
### Android 中将时间格式 `yyyyMMDDHHmmss` 转换为 Long 类型的时间戳
在 Android 开发中,可以利用 Java 的 `SimpleDateFormat` 来解析指定格式的日期字符串,并将其转换为对应的时间戳(以毫秒为单位)。以下是详细的实现过程和技术说明。
---
#### 方法描述
要将 `yyyyMMDDHHmmss` 格式的字符串转换为时间戳,主要分为以下几个部分:
1. 定义日期格式化器 (`SimpleDateFormat`) 并设置为目标格式。
2. 解析给定的日期字符串,得到对应的 `Date` 对象。
3. 使用 `Date.getTime()` 方法提取该日期对象的时间戳(以毫秒为单位)。
---
#### 实现代码示例
以下是一个完整的代码示例,用于将 `yyyyMMDDHHmmss` 格式的字符串转换为 Long 类型的时间戳:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class TimeUtils {
public static long convertToTimestamp(String dateString) {
try {
// 定义日期格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault());
// 将字符串解析为 Date 对象
Date date = dateFormat.parse(dateString);
// 返回时间戳(毫秒)
return date.getTime();
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format, expected yyyyMMddHHmmss");
}
}
public static void main(String[] args) {
String inputDate = "20231005123045"; // 示例输入:2023年10月5日 12时30分45秒
// 调用方法并打印结果
long timestamp = convertToTimestamp(inputDate);
System.out.println("The timestamp is: " + timestamp);
}
}
```
---
#### 关键技术点解释
1. **日期格式化器**
使用 `SimpleDateFormat` 定义目标格式 `"yyyyMMddHHmmss"`。这一步确保了解析器能够正确识别传入的字符串格式[^1]。
2. **异常处理**
如果输入的字符串不符合预期格式,`parse` 方法会抛出 `ParseException` 异常。因此,在实际应用中应捕获此类异常并提供友好的错误提示。
3. **Locale 设置**
推荐显式指定 `Locale` 参数(如 `Locale.getDefault()`),以避免因区域设置不同而导致的行为差异[^2]。
4. **返回值范围**
`Date.getTime()` 返回的结果是以毫秒为单位的时间戳,适用于大多数场景下的时间计算需求。
---
#### 测试与验证
假设输入时间为 `20231005123045`(即 2023 年 10 月 5 日 12 时 30 分 45 秒),运行上述代码后输出的时间戳将是:
```
The timestamp is: 1696487445000
```
此结果表示自 Unix 纪元(1970-01-01T00:00:00Z)以来经过的毫秒数。
---
#### 注意事项
1. 输入字符串必须严格遵循 `yyyyMMDDHHmmss` 格式,否则会导致解析失败。
2. 若需要支持其他格式或国际化需求,可扩展 `convertToTimestamp` 方法以接受额外参数控制格式和 Locale[^3]。
---
###
阅读全文
相关推荐

















