2016-11-19 135 views
0

我想将now设置为具有当前时间字段(小时,分钟和秒),但我想将年份设置为1970年1月1日。下面的代码不使用set(int year, int month, int date)命令。年份,月份和日期保持在当前(即今天)的日期。如何仅更改Calendar对象中的月份,年份和日期而不更改小时,分钟和秒钟?

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

如何仅更改年份,月份和日期字段?

+1

now.getTime()。toString();给了我结果:“Thu Jan 01 03:55:14 CET 1970”。这不是你想要的吗? –

+0

现在是你当地的时间(当你跑命令时)3:55上午? – user1406716

+0

是的。我的时区是格林威治标准时间+ 1,所以当时是凌晨3点55分执行代码 –

回答

0
Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.DAY_OF_MONTH, 1); 
cal.set(Calendar.MONTH, Calendar.JANUARY); 
cal.set(Calendar.YEAR, 1970); 
+0

'cal'中的''time'字段停留在1479526935691(这是2016年11月18日星期五21:42:15),这让我很困惑:http://imgur.com/a/saUDf – user1406716

+0

没关系,当我在Calendar对象上使用'gettimeinmillis()',它工作。所以我会将此标记为答案。 – user1406716

相关问题