我正面临一个前所未有的奇怪问题。我有一个以毫秒为单位的日期,希望将其显示为可读的日期。这是我的代码:
if (validUntil == 0) {
return activity.getResources().getString(R.string.forever);
} else {
Date startDate = new Date(validFrom);
Date endDate = new Date(validUntil);
if (startDate.compareTo(endDate) < 0) {
String date = sdf.format(startDate) + " - " + sdf.format(endDate);
return date;
} else if (startDate.compareTo(endDate) == 0) {
return activity.getResources().getString(R.string.forever);
}
}
如你所见,我只想创建一个显示时间跨度的字符串。当我调试代码时,日期对象包含正确的值,而sdf。格式(…)
给了我一个无效的日期。
例子:
startdate
以毫秒为单位:1375017555000
我得到了一个类似的结束日期的结果。
我做错了什么?
看起来你的日期格式字符串不正确。这个作品:
public static void dateFormat(){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(format.format(new Date()));
}
结果:
2013-07-29
你得到的是几分钟而不是几个月。你的模式应该是这样的:“dd.MM.yyyy”
可能您似乎使用了mm
来表示月
,但它应该是MM
。看看留档。
我一年中有一个月
M分钟以小时计
尝试:
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
我想验证用户输入的日期是否有效,格式是否正确。我使用这个块来检查用户的输入,但是当我输入无效日期时,print语句会给我奇怪的输出。 当是时,它打印
我尝试解析时间格式化字符串,现在当我解析字符串“2014-01-07 95:25:37”时,它返回一个日期,而不是抛出ParseException。谁知道如何让它抛出异常。谢谢乔治。 输出:
问题内容: 我想知道为什么’Y’返回2019,而’y’返回2018在SimpleDateFormat: System.out.println(new SimpleDateFormat(“Y”).format(new Date())); // prints 2019 System.out.println(new SimpleDateFormat(“y”).format(new Date())); /
问题内容: 我想要以毫秒为单位的当前时间,然后以12小时格式存储它,但是通过这段代码,我得到了24小时格式时间。 有人可以建议修改以获得期望的结果吗? 问题答案: 更改到作为 请注意-将为您提供 分钟 而不是 月份 。
我在使用Java客户端库(google-api客户端版本1.13.2-beta,google-api服务-日历版本v3-rev 26-1.13.2-beta)对Google日历API v3进行身份验证时遇到问题。 我们有一个marketplace应用程序,安装该应用程序应为其提供读取(和写入)Google日历事件所需的凭据。 我们使用2腿OAuth 1.0,带有Hmac,这意味着不需要代币。这正是
问题内容: 我正在尝试使用Java的SimpleDateFormat来解析带有以下代码的日期字符串。 我期待一些解析错误。但有趣的是,它打印以下字符串。 无法推理出来。有人可以帮忙吗? 谢谢 问题答案: 已将其解析为 月份 号2011,因为month()是日期模式的第一部分。 如果将2011个月加到28年,则得到195年。 2011个月是167年零7个月。七月是第七个月。您将02指定为日,将28指