黑马程序员技术交流社区
标题:
帮忙看看怎么回事?关于时间类的问题
[打印本页]
作者:
smile_joe
时间:
2013-4-20 15:12
标题:
帮忙看看怎么回事?关于时间类的问题
本帖最后由 smile_joe 于 2013-4-20 19:20 编辑
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test2 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) {
method();
}
public static void method() {
String s1 = "2010-10-10";
String s2 = "2013/5/6";
DateFormat df=new SimpleDateFormat();
Date d1 = null;
try {
d1 = df.parse(s1);
System.out.println(d1);
} catch (ParseException e) {
// TODO Auto-generated catch block
}
Date d2 = null;
try {
d2 = df.parse(s2);
System.out.println(d2);
} catch (ParseException e) {
// TODO Auto-generated catch block
}
long l1=d1.getTime();
long l2=d2.getTime();
System.out.println((l2-l1)/(24*3600*1000));
}
}
复制代码
编译通过,运行报错:java.lang包下的空指针异常,38行和14行,请帮忙看看....谢谢
作者:
zZZ~~
时间:
2013-4-20 15:54
这是修改后的代码
希望对你有帮助
package test;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test2 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) {
//Test2 p = new Test2();
method();
}
static void method() {
String s1 = "2010-10-10 13:33:33";
String s2 = "2013-5-6 22:22:22";
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1 = null;
try {
d1 = df.parse(s1);
System.out.println(d1);
} catch (ParseException e) {
// TODO Auto-generated catch block
}
Date d2 = null;
try {
d2 = df.parse(s2);
System.out.println(d2);
} catch (ParseException e) {
// TODO Auto-generated catch block
}
long l1=d1.getTime();
long l2=d2.getTime();
System.out.println((l2-l1)/(24*3600*1000));
}
}
作者:
zZZ~~
时间:
2013-4-20 15:54
运行结果是
Sun Oct 10 13:33:33 CST 2010
Mon May 06 22:22:22 CST 2013
939
作者:
乘鱼飞
时间:
2013-4-20 15:59
本帖最后由 乘鱼飞 于 2013-4-20 16:03 编辑
改成这样:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestStudy {
public static void main(String[] args) throws Exception{
method();
}
public static void method() {
String s1 = "2010-10-10";
String s2 = "2013/5/6";
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
DateFormat df2=new SimpleDateFormat("yyyy/MM/dd");
Date d1 = null;
try {
d1 = df.parse( s1);
System.out.println(d1.toString());
} catch (ParseException e) {
System.out.println(e.getMessage());
}
Date d2 = null;
try {
d2 = df2.parse(s2);
System.out.println(d2.toString());
} catch (ParseException e1) {
System.out.println(e1.getMessage());
}
long l1=d1.getTime();
long l2=d2.getTime();
System.out.println((l2-l1)/(24*3600*1000));
}
}
输出结果:
Sun Oct 10 00:00:00 CST 2010
Mon May 06 00:00:00 CST 2013
939
主要是自定义格式没设定
匹配不了
加上 DateFormat df2=new SimpleDateFormat("yyyy/MM/dd");
就行了
作者:
HM汪磊
时间:
2013-4-20 16:27
如无问题,请改为以解决,谢谢:handshake
作者:
wanggang
时间:
2013-4-20 16:36
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test2 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) {
method();
}
/**
*
*/
public static void method() {
String s1 = "2010-10-10";
String s2 = "2013/5/6";
DateFormat df = new SimpleDateFormat("yyyy-mm-dd" );
Date d1=new Date();
try {
d1 = df.parse(s1);
System.out.println(d1);
} catch (ParseException e) {
// TODO Auto-generated catch block
}
Date d2=new Date();
try {
d2 = df.parse(s2);
System.out.println(d2);
} catch (ParseException e) {
// TODO Auto-generated catch block
}
long l1=d1.getTime();
long l2=d2.getTime();
System.out.println((l2-l1)/(24*3600*1000));}
}
作者:
wanggang
时间:
2013-4-20 16:37
不知道是不是你要的结果,你自己看看吧
作者:
smile_joe
时间:
2013-4-20 19:33
乘鱼飞 发表于 2013-4-20 15:59
改成这样:
谢谢分析,刚用eclipse真是很难习惯,感觉比小红本难用.悲剧...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2