如何在 java 中将 "hh mm a" 格式字符串转换为秒数
How to convert "hh mm a" format string to seconds in java
我有字符串“6:00 AM”,我想在 java 中将此字符串转换为秒或毫秒。
请建议我转换它的标准方法。
从午夜“00:00 am”算起的秒数
Java 7
将 String
转换为 Date
...
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a");
TimeZone gmt = TimeZone.getTimeZone("GMT");
sdf.setTimeZone(gmt);
Date date = sdf.parse("6:00 am");
因为没有日期信息,这将是从纪元开始的毫秒数 + 你的时间。
将Date
转换为秒
long seconds = date.getTime() / 1000;
System.out.println(seconds);
输出 21600
秒、360 分钟或 6 小时
Java 8
更像是...
LocalTime lt = LocalTime.parse("6:00 AM",
DateTimeFormatter.ofPattern("h:m a"));
System.out.println(lt.toSecondOfDay());
...例如...
JodaTime
LocalTime lt = LocalTime.parse("6:00 am",
new DateTimeFormatterBuilder().
appendHourOfDay(1).
appendLiteral(":").
appendMinuteOfHour(1).
appendLiteral(" ").
appendHalfdayOfDayText().toFormatter());
LocalTime midnight = LocalTime.MIDNIGHT;
Duration duration = new Duration(midnight.toDateTimeToday(), lt.toDateTimeToday());
System.out.println(duration.toStandardSeconds().getSeconds());
Joda-time 当你需要处理日期时间计算时是个不错的选择。
import org.joda.time.*;
import org.joda.time.format.*;
DateTimeFormatter fmt = DateTimeFormat.forPattern("K:mm a");
DateTime end = fmt.parseDateTime("6:00 AM");
DateTime start = fmt.parseDateTime("00:00 AM");
Interval interval = new Interval(start,end);
long millSec = interval.toDurationMillis();
long second = interval.toDuration().getStandardSeconds();
我有字符串“6:00 AM”,我想在 java 中将此字符串转换为秒或毫秒。 请建议我转换它的标准方法。
从午夜“00:00 am”算起的秒数
Java 7
将 String
转换为 Date
...
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a");
TimeZone gmt = TimeZone.getTimeZone("GMT");
sdf.setTimeZone(gmt);
Date date = sdf.parse("6:00 am");
因为没有日期信息,这将是从纪元开始的毫秒数 + 你的时间。
将Date
转换为秒
long seconds = date.getTime() / 1000;
System.out.println(seconds);
输出 21600
秒、360 分钟或 6 小时
Java 8
更像是...
LocalTime lt = LocalTime.parse("6:00 AM",
DateTimeFormatter.ofPattern("h:m a"));
System.out.println(lt.toSecondOfDay());
...例如...
JodaTime
LocalTime lt = LocalTime.parse("6:00 am",
new DateTimeFormatterBuilder().
appendHourOfDay(1).
appendLiteral(":").
appendMinuteOfHour(1).
appendLiteral(" ").
appendHalfdayOfDayText().toFormatter());
LocalTime midnight = LocalTime.MIDNIGHT;
Duration duration = new Duration(midnight.toDateTimeToday(), lt.toDateTimeToday());
System.out.println(duration.toStandardSeconds().getSeconds());
Joda-time 当你需要处理日期时间计算时是个不错的选择。
import org.joda.time.*;
import org.joda.time.format.*;
DateTimeFormatter fmt = DateTimeFormat.forPattern("K:mm a");
DateTime end = fmt.parseDateTime("6:00 AM");
DateTime start = fmt.parseDateTime("00:00 AM");
Interval interval = new Interval(start,end);
long millSec = interval.toDurationMillis();
long second = interval.toDuration().getStandardSeconds();