将SimpleDateFormat转换为字符串问题

TRS*_*TRS -1 java datetime android date

我正在尝试将SimpleDateFormat转换为String,但结果不正确.

Calendar cal = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Log.d("current date",dateFormat.format(cal.getTime()));
cal.add(Calendar.YEAR,-3);
Log.d("3 years previous date",dateFormat.format(cal.getTime()));

String valnow = dateFormat.format(new Date());
Run Code Online (Sandbox Code Playgroud)

输出:

01-19 05:34:52.148: DEBUG/current date(556): 19/01/2012
01-19 05:34:52.148: DEBUG/3 years previous date(556): 19/01/2009
Run Code Online (Sandbox Code Playgroud)

但是valnow价值= 19/01/2012.

有人可以告诉我这样做的方法吗?如果您有任何实例,那将是一个真正的帮助!

Moh*_*lah 7

尝试更换

String valnow = dateFormat.format(new Date());
Run Code Online (Sandbox Code Playgroud)

String valnow = dateFormat.format(cal.getTime());
Run Code Online (Sandbox Code Playgroud)