Java判断判断字符串是否是yyyy-MM-dd HH:mm:ss还是yyyy-MM-dd HH:mm 都统一转成yyyy-MM-dd HH:mm
时间: 2024-01-18 07:04:50 浏览: 34
好的,您可以使用Java中的SimpleDateFormat类来实现该需求。可以先将字符串转换成Date类型,再将其转换为需要的格式。下面是示例代码:
```
String str = "2022-07-12 15:30";
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
// 将字符串转换成Date类型
Date date = format1.parse(str);
// 将Date类型转换成需要的格式
String result = format2.format(date);
System.out.println(result);
} catch (ParseException e) {
e.printStackTrace();
}
```
此代码先将字符串按照"yyyy-MM-dd HH:mm:ss"的格式转换成Date类型,然后再按照"yyyy-MM-dd HH:mm"的格式转换成所需的字符串格式。如果字符串是"yyyy-MM-dd HH:mm"的格式,也可以先按照这个格式转换成Date类型,再按照需要的格式转换即可。
相关问题
用jdk1.8的方法判断字符串是否是yyyy-MM-dd HH:mm:ss还是yyyy-MM-dd HH:mm 都统一转成yyyy-MM-dd HH:mm
可以使用正则表达式来判断字符串是否符合指定的格式。具体实现如下:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String[] args) {
String pattern = "yyyy-MM-dd HH:mm";
String dateString = "2022-01-01 12:00:00";
// 判断字符串是否符合 yyyy-MM-dd HH:mm:ss 格式
if (dateString.matches("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}")) {
pattern = "yyyy-MM-dd HH:mm:ss";
}
SimpleDateFormat inputFormat = new SimpleDateFormat(pattern);
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
Date date = inputFormat.parse(dateString);
String outputString = outputFormat.format(date);
System.out.println(outputString);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
```
首先定义默认格式为 yyyy-MM-dd HH:mm,然后判断字符串是否符合 yyyy-MM-dd HH:mm:ss 格式,如果符合则更新格式为 yyyy-MM-dd HH:mm:ss。
接着使用 SimpleDateFormat 类将字符串解析为 Date 对象,再将 Date 对象按照默认格式转换为字符串输出。
java 日期型字符串 YYYY-MM-DD HH:mm:ss转YYYY-MM-DD
可以使用Java中的日期格式化工具类SimpleDateFormat来实现。
示例代码:
```
String datetimeStr = "2021-07-25 14:30:00";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date datetime = format.parse(datetimeStr);
format.applyPattern("yyyy-MM-dd");
String dateStr = format.format(datetime);
System.out.println(dateStr);
```
解释:
1. 首先定义日期时间字符串datetimeStr,格式为"YYYY-MM-DD HH:mm:ss"。
2. 创建SimpleDateFormat对象format,指定解析格式为"yyyy-MM-dd HH:mm:ss"。
3. 使用format对象的parse方法将字符串datetimeStr解析为Date对象datetime。
4. 调用format对象的applyPattern方法将格式修改为"yyyy-MM-dd"。
5. 使用format对象的format方法将日期时间对象datetime格式化为日期字符串dateStr。
6. 最后输出日期字符串dateStr,格式为"YYYY-MM-DD"。
输出结果为:
```
2021-07-25
```