我做了一个BBS系统,显示发帖和回帖时间时总是yyyy-mm-dd hh:mm:ss.0这样的格式  请问后面的“.0”是怎么来的?
在线等

解决方案 »

  1.   

    这是插入新贴的代码:
    public boolean insert(DB db) throws Exception {
    String strSql;
    ResultSet rs;
    int iMaxId;
    strSql = "Select max(id) From topic";
    rs = db.OpenSql(strSql);
    if (rs.next()) {
    iMaxId = rs.getInt(1) + 1;
    } else {
    iMaxId = 1;
    }
    Calendar cal=Calendar.getInstance(); 
    int year=cal.get(Calendar.YEAR); 
    int month=cal.get(Calendar.MONTH)+1; 
    int day=cal.get(Calendar.DATE); 
    int hour=cal.get(Calendar.HOUR_OF_DAY); 
    int minute=cal.get(Calendar.MINUTE); 
    int second=cal.get(Calendar.SECOND); 


    String submittime = year + "-" + month + "-" + day+" "+hour+":"+minute+":"+second;

    strSql = "insert into topic values(" + iMaxId + ",'" + title + "','"
    + content + "','" + author + "','" + submittime + "'," + forumid
    + ")";
    if (db.ExecSql(strSql) == 0) {
    return false;
    } else {
    return true;
    } }
      

  2.   

    是不是毫秒数?
    也遇到同样问题使用了DataFormat来设置
      

  3.   

    0是毫秒,你那样插入只计算到秒,所以读出来全是0,很正常!其实如果用数据库的时间做标准,可以这样:
    strSql = "insert into topic values(" + iMaxId + ",'" + title + "','"
    + content + "','" + author + "',getDate()," + forumid
    + ")";前提条件是你的数据库支持 getDate()
      

  4.   

    毫秒单位   你做一个字符串处理函数,保存到秒就ok了 /**
     * 返回格式为YYYY-MM-DD HH:MM:SS
     * @param aDate
     *        java.util.Date
     * @return
     */
    public static final String getDateString(java.util.Date aDate) {
    String ret = "";
    Calendar c = Calendar.getInstance();
    c.setTime(aDate); ret = c.get(Calendar.YEAR) + "-";
    ret = ret + addZero((c.get(Calendar.MONTH) + 1) + "", 2) + "-";
    ret = ret + addZero((c.get(Calendar.DAY_OF_MONTH)) + "", 2) + " ";
    ret = ret + addZero((c.get(Calendar.HOUR_OF_DAY)) + "", 2) + ":";
    ret = ret + addZero((c.get(Calendar.MINUTE)) + "", 2) + ":";
    ret = ret + addZero((c.get(Calendar.SECOND)) + "", 2);
    return ret;
    }
      

  5.   

    你直接获取系统当前时间,存到字符串里,然后截一下字符串就好了
    DateVariable.substring(0,19);