例如,在数据库里日期格式是 2008-01-01 20:10:50
在velocity里要如何处理才可以只显示2008-01-01 显示方式可以在velocity模板里控制的那种...不受java影响.....

解决方案 »

  1.   

    再定义一个Sting属性把日期转换成String,velocity显示那个String
      

  2.   

    定义一个单例类放到VelocityContext中然后可以直接调用类的方法进行格式化
      

  3.   


    import java.io.StringWriter;
    import java.io.Writer;
    import java.util.Calendar;
    import java.util.TimeZone;import org.apache.velocity.Template;
    import org.apache.velocity.VelocityContext;
    import org.apache.velocity.app.Velocity;
    import org.apache.velocity.tools.generic.DateTool;public class DateToolExample {  public static void main(String[] args) throws Exception {
        Velocity.init();    Template t = Velocity.getTemplate("./src/dateTool.vm");    VelocityContext ctx = new VelocityContext();
        ctx.put("date", new DateTool());    Calendar aDate = Calendar.getInstance(TimeZone.getTimeZone("PST"));
        aDate.set(200, 11, 25);    ctx.put("aDate", aDate);    Writer writer = new StringWriter();
        t.merge(ctx, writer);    System.out.println(writer);
      }
    }
    Today's date is:       $date
    Today's date is also:  $date.long           #* using property shortcut *#
    Today's date is also:  $date.get('long')    #* using full syntax *#
    The date and time is:  $date.default $date.shortAnother date is:       $aDate
    Another date is also:  $date.format('medium', $aDate)需要的包velocity-tools.jar
      

  4.   

    velocity-tools.jar有四个不知要用的是那个??
      

  5.   

    具体修改步骤:
    1、在toolbox.xml配置文件中添加以下代码:
    <tool>
       <key>date</key>
       <scope>application</scope>
       <class>org.apache.velocity.tools.generic.DateTool</class>
    </tool>
    2、在前台页面中需要显示时间的地方添加这样的代码:
    例如:要显示的时间为:$!user.time
            那么添加的代码为:
       $!date.format('yyyy-MM-dd HH:mm:ss ',$!user.time)
       其中'yyyy-MM-dd HH:mm:ss '格式可以自己定义。