【问题标题】:How to change only month, year and date in Calendar object without changing the hours, mins and seconds?如何在不更改小时、分钟和秒的情况下仅更改日历对象中的月、年和日期?
【发布时间】:2016-11-19 02:52:42
【问题描述】:

我想将now 设置为具有当前时间字段(小时、分钟和秒),但我想将年份设置为 1970 年 1 月 1 日。下面的代码没有使用set(int year, int month, int date) 命令执行此操作。年、月和日期保持在当前(即今天)日期。

Calendar now = Calendar.getInstance();
now.set(1970, Calendar.JANUARY, 01);

如何只更改年月日字段?

【问题讨论】:

  • now.getTime().toString();给了我结果:“Thu Jan 01 03:55:14 CET 1970”。这不是你想要的吗?
  • 您的当地时间现在(运行命令时)是凌晨 3:55 吗?
  • 是的。我的时区是 GMT+1,所以执行代码时是凌晨 3:55
  • 你能告诉我日志输出证明值保持不变吗?

标签: java android android-calendar


【解决方案1】:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.MONTH, Calendar.JANUARY);
cal.set(Calendar.YEAR, 1970);

【讨论】:

  • cal 中的 'time 字段保持在 1479526935691(即 2016 年 11 月 18 日星期五 21:42:15),这让我感到困惑:imgur.com/a/saUDf
  • 没关系,当我在 Calendar 对象上使用 gettimeinmillis() 时,它可以工作。所以我会将此标记为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 2017-10-15
  • 2013-09-23
  • 1970-01-01
相关资源
最近更新 更多