请教高手:如何把“毫秒格式”的时间转换成 yyyy-MM-dd HH:mm:ss 的格式? Date d=new Date(tt);多看看JDK的文档 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 多谢 flyxxxxx(灭神) ,我刚发完贴就找到了。嘿嘿。还是先多吸引几个人进来再揭帖。:) 构造一个 Calendar ,然后调用 setTimeInMillis(long) 方法再用getTime() 返回一个Date Calendar cal = Calendar.getInstance();cal.setTimeInMillis(System.currentTimeMillis() - 5*24*3600);Date date = cal.getTime();然后就可以转换格式了没尝试过,不知道能不能成功:) 已搞定: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dt1 = sdf.format(new Date(System.currentTimeMillis())); String dt2 = sdf.format(new Date(System.currentTimeMillis()-5*24*3600*1000)); out.println(dt1+" : "+dt2); Result: 2004-09-23 17:30:33 : 2004-09-18 17:30:33 顶!为什么 24天 的时候正常,等于25或以上就不正常了??import java.text.*;import java.util.*;public class TT{ public static void main(String[] args) { int day = 24; Date dt1 = new Date(System.currentTimeMillis()); Date dt2 = new Date(System.currentTimeMillis()-day*24*3600*1000); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String st1 = sdf.format(dt1); String st2 = sdf.format(dt2); System.out.println(st1+"\n"+st2); }}---------- run ----------2004-09-23 21:24:562004-08-30 21:24:56Output completed (0 sec consumed) - Normal Termination------------ 25import java.text.*;import java.util.*;public class TT{ public static void main(String[] args) { int day = 25; Date dt1 = new Date(System.currentTimeMillis()); Date dt2 = new Date(System.currentTimeMillis()-day*24*3600*1000); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String st1 = sdf.format(dt1); String st2 = sdf.format(dt2); System.out.println(st1+"\n"+st2); }}---------- run ----------2004-09-23 21:29:512004-10-18 14:32:38Output completed (0 sec consumed) - Normal Termination 这个涉及到int取值范围问题,day为int类型,那么day*24*3600*1000就被当作int进行处理了。而day等于25的时候就超过了原来的取值范围而变成了负值。所以你定义为long day=25应该就没有问题了。 25就超过范围??不是吧??24*24*3600*1000=2073600000 , 25*..=2160000000 ,看不出来超过范围啊??换成 long day ,果然就算等于300,3000也正确了。谢谢ygc(狒狒) !!!那么最后问题: 范围是怎样界定的?? 多线程并发求教 Java菜鸟的烦恼 这个while(true)怎么退出循环的?(二分查找法里的) 将button外形 改为 圆形 java下的监视机制如何实现? 关于现在java开发平台的问题! 关于内部类继承外部类的问题 动态加载 ClassLoad 的疑问,各位大虾帮帮忙? 急:jbuilder6.0中怎么安装javamail??? 子类继承父类的方法和变量后,子类中是不是存在父类的方法和变量? JAVA飞机游戏设计 现在都没有头绪呢~~~~~~~~~~~~~~~~~~~```````` 求一个时间类
cal.setTimeInMillis(System.currentTimeMillis() - 5*24*3600);
Date date = cal.getTime();然后就可以转换格式了没尝试过,不知道能不能成功:)
String dt1 = sdf.format(new Date(System.currentTimeMillis()));
String dt2 = sdf.format(new Date(System.currentTimeMillis()-5*24*3600*1000)); out.println(dt1+" : "+dt2); Result: 2004-09-23 17:30:33 : 2004-09-18 17:30:33
import java.util.*;public class TT
{
public static void main(String[] args)
{
int day = 24;
Date dt1 = new Date(System.currentTimeMillis());
Date dt2 = new Date(System.currentTimeMillis()-day*24*3600*1000);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String st1 = sdf.format(dt1);
String st2 = sdf.format(dt2); System.out.println(st1+"\n"+st2);
}
}
---------- run ----------
2004-09-23 21:24:56
2004-08-30 21:24:56Output completed (0 sec consumed) - Normal Termination
------------ 25
import java.text.*;
import java.util.*;public class TT
{
public static void main(String[] args)
{
int day = 25;
Date dt1 = new Date(System.currentTimeMillis());
Date dt2 = new Date(System.currentTimeMillis()-day*24*3600*1000);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String st1 = sdf.format(dt1);
String st2 = sdf.format(dt2); System.out.println(st1+"\n"+st2);
}
}
---------- run ----------
2004-09-23 21:29:51
2004-10-18 14:32:38Output completed (0 sec consumed) - Normal Termination
换成 long day ,果然就算等于300,3000也正确了。谢谢ygc(狒狒) !!!
那么最后问题: 范围是怎样界定的??