【发布时间】:2011-07-02 11:34:00
【问题描述】:
我很难理解这里发生了什么......我正在尝试将时间跨度转换为字符串(即“2 年 6 天 4 小时 23 秒”)。
我得到的数字示例如下:
开始:1309605480723 结束:1341227880000
开始时间:2011 年 7 月 2 日 4:18:00 AM
结束:2012-07-02 4:18:00 AM
span.toString: PT8783H59M59.277S
formatter.print(span):0 年 0 个月 1 天 23 小时 59 分钟 59 秒
span.toString(formatter):0 年 0 个月 1 天 23 小时 59 分钟 59 秒
产生上述内容的代码是:
Period span = new Period(mEndTime - mStartTime);
PeriodFormatter formatter = new PeriodFormatterBuilder()
.printZeroAlways()
.appendYears().appendSuffix(" year", " years").appendSeparator(", ")
.appendMonths().appendSuffix(" month", " months").appendSeparator(", ")
.appendDays().appendSuffix(" day", " days").appendSeparator(", ")
.appendHours().appendSuffix(" hour", " hours").appendSeparator(", ")
.appendMinutes().appendSuffix(" minute", " minutes").appendSeparator(", ")
.appendSeconds().appendSuffix(" second", " seconds")
.toFormatter();
Log.d(LOGTAG, "formatter.print: " + formatter.print(span.normalizedStandard()));
Log.d(LOGTAG, "span.toString: " + span.normalizedStandard().toString(formatter));
谁能解释这些数字?
也许我在做一些愚蠢的事情并且看不到它(毕竟是凌晨 4 点),但我就是不明白为什么这些 8783 小时甚至不能上转换为几天?
谢谢.
【问题讨论】:
-
你得到的日志与代码应该打印的不匹配:它应该打印“formatter.print:”,它打印“formatter.print(span)”。您确定您正在查看正确的日志(或运行正确的代码)吗?
-
复制 + 粘贴 ... 日志和代码被修剪以仅显示需要的内容