java 拆分日期和时间_java-如何从日期时间字符串中分割日期和时...

一种方法是将其解析为日期对象,然后重新格式化:

try {

DateFormat f = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");

Date d = f.parse("8/29/2011 11:16:12 AM");

DateFormat date = new SimpleDateFormat("MM/dd/yyyy");

DateFormat time = new SimpleDateFormat("hh:mm:ss a");

System.out.println("Date: " + date.format(d));

System.out.println("Time: " + time.format(d));

} catch (ParseException e) {

e.printStackTrace();

}

如果您只想将其切成日期时间片段,只需使用split即可

String date = "8/29/2011 11:16:12 AM";

String[] parts = date.split(" ");

System.out.println("Date: " + parts[0]);

System.out.println("Time: " + parts[1] + " " + parts[2]);

要么

String date = "8/29/2011 11:16:12 AM";

System.out.println("Date: " + date.substring(0, date.indexOf(' ')));

System.out.println("Time: " + date.substring(date.indexOf(' ') + 1));

Java,如果你有一个包含日期时间信息的字符串,并希望按照特定的时间格式拆分成更易处理的部分,你可以使用`java.text.SimpleDateFormat`类配合`split()`方法。首先,你需要创建一个`SimpleDateFormat`对象,指定输入字符串日期格式,然后使用正则表达式将字符串分割。 例如,假设你的字符串格式是"yyyy-MM-dd HH:mm:ss",可以这样做: ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; public String[] splitDateString(String input) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 使用Pattern和Matcher解析字符串 Pattern pattern = Pattern.compile("\\s*\\d{4}[-]\\d{2}[-]\\d{2}\\s+\\d{2}:\\d{2}[:]\\d{2}"); Matcher matcher = pattern.matcher(input); if (matcher.find()) { Date date = null; try { date = formatter.parse(matcher.group()); } catch (ParseException e) { e.printStackTrace(); } // 根据需要提取年、月、日、小、分钟、秒 int year = date.getYear() + 1900; // Java Date类的年份是从1900年开始计算的 int month = date.getMonth() + 1; int day = date.getDate(); int hour = date.getHours(); int minute = date.getMinutes(); int second = date.getSeconds(); return new String[]{String.valueOf(year), String.valueOf(month), String.valueOf(day), String.valueOf(hour), String.valueOf(minute), String.valueOf(second)}; } else { throw new IllegalArgumentException("Invalid date string format."); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值