日期:2014-05-20  浏览次数:20768 次

java中怎么把一个长整型的时间格式化
急!
事情是这样的,
代码中声明了long start_time; //时间是毫秒

现在要输出这个时间,按格式:例如这样的:2011-09-10 00:00:00
就是说后面的时分秒全部置零,但也不能取消,各位大哥帮帮忙啊!新手初学不懂

------解决方案--------------------
有若干的思路,给你贴一个思路的实例
Java code
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;

public class TimeFormatDemo {

    public static void main(String[] args){
          DateFormat df=new SimpleDateFormat("yyyy-MM-dd 00:00:00");
          Date date=new Date();
          System.out.println(df.format(date));
    }
}

------解决方案--------------------
上面没传long的值,再贴一下
Java code
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;


public class TimeFormatDemo {

    public static void main(String[] args){
          DateFormat df=new SimpleDateFormat("yyyy-MM-dd 00:00:00");
          long time=System.currentTimeMillis();//这里改用你想要用的long值就可以
          Date date=new Date(time);
          System.out.println(df.format(date));
    }
}

------解决方案--------------------
Java code

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class MillisToTime {
    public static void main(String[] args) {
    long timelnMillis = 1234567891011L;
    String newTypeTime = getTimeString(timelnMillis);
    System.out.println(newTypeTime);
    }
    public static String getTimeString(long timelnMillis){
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(timelnMillis);
    Date date = calendar.getTime();
    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
    String newTypeDate = f.format(date);
    return newTypeDate;    
    }
}
/*output:
 * 2009-02-14 07:31:31
 */

------解决方案--------------------
你如果用long类型插入的话肯定是保持原来的数据,我们给的代码只是将时间转换为字符串,如果你想插入mysql表的话,需要用转换后的格式再次解析出一个date或者long 插入数据库代码给你贴出来
Java code

import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;

public class TimeFormatDemo {

    public static void main(String[] args){
          DateFormat df=new SimpleDateFormat("yyyy-MM-dd 00:00:00");
          long time=System.currentTimeMillis();
          Date date=new Date(time);
          System.out.println(df.format(date));
//          df=
          Date transferDate=null;
          long changedTime=0;
          try{
              transferDate=df.parse(df.format(date));
              changedTime=transferDate.getTime();
          }catch(Exception e){
              e.printStackTrace();
          }
        System.out.println(transferDate);
        //插入数据库用 transferDate或者changedTime,不要用原来的
    }
}