import java.util.Date;
public class GetDate {
public static void main(String[] args) {
// TODO Auto-generated method stub
Date date=new Date();
String hour=String.format("%tH",date);
String minute=String.format("%tM",date);
String second=String.format("%tS",date);
System.out.println("现在是:"+hour+"时"+minute+"分"+second+"秒");
}
}
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
无法解析类型 java.lang.CharSequence。从必需的 .class 文件间接引用了它
类型 String 中的方法 format(String, Object[])对于参数(String, Date)不适用
类型 String 中的方法 format(String, Object[])对于参数(String, Date)不适用
类型 String 中的方法 format(String, Object[])对于参数(String, Date)不适用
at GetDate.main(GetDate.java:10)
新手求教,这是怎么回事???帮忙解决一下,谢谢
------解决思路----------------------
Date类的转换可以用这个,日期格式有("YYYYMMddhhmmss"),可以拆分来用。
public static void getDate(){
SimpleDateFormat sdf = new SimpleDateFormat("hhmmss");
Date date = new Date();
String time = sdf.format(date);
String hour = time.substring(0,2);
String minute = time.substring(2,4);
String second = time.substring(4,6);
System.out.println(hour+"时"+minute+"分"+second+"秒");
}
------解决思路----------------------
String hour=String.format("%tH",new Object []{date});
改成对象数组就ok了,刚跑完
------解决思路----------------------
我在本机跑你的代码也没有问题。
JDK String类format源码
public static String format(String format, Object ... args) {
return new Formatter().format(format, args).toString();
}
第二个参数类型是:Object ...
是可变参数,举个例子:void fun(Object... objs) {}
你在调用fun(Object ... objs)方法时,传入多少个参数都是可以的,比如你可以这么调用fun("s"),你也可以传入两个参数fun("s","d")
所以不需要将Date对象改为数组对象