这段java日期格式化程序为什么执行不了

来源:百度知道 编辑:UC知道 时间:2024/05/05 11:18:11
package java5;
import java.util.Date;
public class Eval {
public static void main(String[] args) {
Date date=new Date();
String year = String.format("%tY",date);
String month= String.format("%tB", date);
String day= String.format("%td", date);
System.out.println("今年是:"+year+"年");
System.out.println("现在是:"+month);
System.out.println("今天是:"+day+"号");
}
}
显示Exception in thread "main" java.lang.Error: 无法解析的编译问题:
类型 String 中的方法 format(String, Object[])对于自变量(String, Date)不适用
类型 String 中的方法 format(String, Object[])对于自变量(String, Date)不适用
类型 String 中的方法 format(String, Object[])对于自变量(String, Date)不适用

at java5.Eval.main(Eval.java:6)
求大侠们帮忙看一下...
我用CMD
然后java -version查了一下,我这个是1.6.0-11。

楼主这样写太麻烦了3句代码搞定的事写了这么长`- -
import java.text.SimpleDateFormat;
import java.util.Date;

public class test2 {
/** 格式化时间
* @param args
*/
public static void main(String[] args) {
Date date=new Date();
SimpleDateFormat format=new SimpleDateFormat("今年是:yyyy年\n现在是:MM月\n今天是:dd号\n");
System.out.println(format.format(date));
}
}

我运行正常啊~你用的什么版本的jdk……这个方法是jsk1.5后才有的啊
1.6的话~你查下~你的.java文件是否名为Eval.java~

只要将jdk的版本升到1.5以上就可以了。就是jdk的问题
见以下jdk帮助文档String中format函数的说明最后一行

format
public static String format(String format,
Object... args)使用指定的格式字符串和参数返回一个格式化字符串。
始终使用的语言环境是由 Locale.getDefault() 返回的语言环境。

参数:
format - 格式字符串
args - 在格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数是可变的并且可以为 0。参数的最大数目受《Java Virtual Machine Specification》所定义的 Java 数组的最大维度的限制。针对 null 参数的行为依赖于 转换。
返回:
一个格式化字符串
抛出:
IllegalFormatException