我希望将时间表示为“ Thu Jan 01 08:40:38 GMT + 01:00 1754”

所以我这样做:

                Date datu = new Date();
                datu.setYear(1754);
                datu.setMonth(0);
                datu.setDate(1);
                DateFormat.format("%tc", datu);

                // DATU = Thu Jan 01 08:40:38 GMT+01:00 3654
                String startTime = datu.toGMTString();


现在的问题是我在代码中将年份设置为1754。但是当我打印出来时。有3654吗?

编辑:
datu.setYear(1754-1900)可以解决问题。但是没有别的办法吗?

最佳答案

请尝试这样:

SimpleDateFormat sdf = new SimpleDateFormat("E MMM dd hh:mm:ss 'GMT'Z yyyy");
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR,1754);
c.set(Calendar.MONTH, 0); // JAN
c.set(Calendar.DATE, 1);
System.out.println(sdf.format(new Date(c.getTimeInMillis())));


输出量

Tue Jan 01 05:23:55 GMT+0800 1754

关于java - 特定格式的时间Android Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10242215/

10-11 02:16