我有一个字符串“6:00am”,我想用java把这个字符串转换成秒或毫秒。请给我建议转换这个的标准方法。从午夜“00:00 am”开始的秒数
von4xj4u1#
当您需要处理日期时间计算时,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();
kqlmhetl2#
转换 String 到 Date ...
String
Date
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a"); TimeZone gmt = TimeZone.getTimeZone("GMT"); sdf.setTimeZone(gmt); Date date = sdf.parse("6:00 am");
因为没有日期信息,所以这将是从epoch开始的毫秒+您的时间。转换 Date 到秒
long seconds = date.getTime() / 1000; System.out.println(seconds);
哪些输出 21600 秒、360分钟或6小时
21600
更像是。。。
LocalTime lt = LocalTime.parse("6:00 AM", DateTimeFormatter.ofPattern("h:m a")); System.out.println(lt.toSecondOfDay());
…例如。。。
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());
2条答案
按热度按时间von4xj4u1#
当您需要处理日期时间计算时,joda time是一个很好的选择。
kqlmhetl2#
java 7
转换
String
到Date
...因为没有日期信息,所以这将是从epoch开始的毫秒+您的时间。
转换
Date
到秒哪些输出
21600
秒、360分钟或6小时java 8
更像是。。。
…例如。。。
乔达蒂姆