我需要验证给定的输入字符串是否有效Timestamp
以毫秒为单位。
例如,如果给定Timestamp
String time ="1310966356458";
那么它应该返回true。
if
String time ="1000";
那么它应该返回 false;
请帮忙。提前致谢
我们无法告诉您什么对您的应用来说是合理的。如果有一个限制对于每种情况都是正确的,那么它将被内置。可能只有开发应用程序之后的时间戳才是明智的,而不是未来的时间戳。
public static final String RELEASE_DATE = "2011/06/17";
private static final long MIN_TIMESTAMP;
static {
try {
MIN_TIMESTAMP = new SimpleDateFormat("yyyy/MM/dd").parse(RELEASE_DATE).getTime();
} catch (ParseException e) {
throw new AssertionError(e);
}
}
// after the software was release and not in the future.
public static final boolean validTimestamp(long ts) {
return ts >= MIN_TIMESTAMP && ts <= System.currentTimeMillis();
}
然而,时间戳可能代表某人的出生时间。在这种情况下,最小时间戳可能为负数。
时间戳可能是某些东西过期的时间(例如门票),有些是过去的(也许不是今年之前),有些是未来的。 (可能不会提前超过 2 年。)
时间可能是负数。人类在 1970 年之前登陆月球,因此时间戳将为负数。
String MAN_ON_MOON = "1969/07/21 02:56 GMT";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm Z");
System.out.println(sdf.parse(MAN_ON_MOON).getTime());
prints
-14159040000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)