Date myDate=new Date();    
        System.out.println(myDate.toString());    
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");    
        System.out.println(sdf.format(myDate)); 
打印出来的是:2010-01-14 01:12:41 
为什么获取不到当前时间 。

解决方案 »

  1.   

    在不更改机器时区的情况下改变一个特定应用程序的时区(多种方法): 1、TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
    TimeZone.setDefault(tz); 2、java -Duser.timezone=UTC TimeZoneTip
    java -Duser.timezone=Asia/Shanghai 3、针对tomcat,修改其catalina.bat 对应set JAVA_OPTS = -Duser.timezone=Asia/Shanghai新增 -Duser.timezone=Asia/Shanghai 这句既可 。 4、代码中     Date utilDate = new java.util.Date();     SimpleDateFormat myFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取中国的时区
         myFmt.setTimeZone(timeZoneChina);//设置系统时区
         return myFmt.format(utilDate);
      

  2.   

    Thu Jan 14 09:23:19 CST 2010
    2010-01-14 09:23:19难道这不是当前时间,看你计算机上的时间,运行程序那台上的
      

  3.   

    要看虚拟机/操作系统/BIOS时区及时钟的...
      

  4.   

    <script type="text/javascript">
    <!--
    var timerID = null;
    var timerRunning = false;
    function stopclock (){
    if(timerRunning){
    clearTimeout(timerID);
    timerRunning = false;
    }
    }
    function startclock(){
    stopclock();
    showtime();
    }
    function showtime(){
    var now= new Date();
    var year=now.getYear();
    var month=now.getMonth()+1;
    var day=now.getDate();
    var hour=now.getHours();
    var minute=now.getMinutes();
    var second=now.getSeconds();
    var timeValue =year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
    document.getElementsByName("pay")[0].value = timeValue;
    timerID = setTimeout("showtime()",1000);
    timerRunning = true;
    }
    //-->
    </script>
    <body onload="startclock ()">
    <input type=text name="pay"/>
    </body>
      

  5.   

    你试一试这个
            TimeTest tt = new TimeTest();   
            System.out.println("获取当天日期:"+tt.getNowTime("yyyy-MM-dd"));   
      

  6.   

    上帖:TimeTest是我自定义的类名
    或者你试试这个:
    int y,m,d,h,mi,s; 
      Calendar cal=Calendar.getInstance(); 
      y=cal.get(Calendar.YEAR); 
      m=cal.get(Calendar.MONTH); 
      d=cal.get(Calendar.DATE); 
      h=cal.get(Calendar.HOUR_OF_DAY); 
      mi=cal.get(Calendar.MINUTE); 
      s=cal.get(Calendar.SECOND); 
      System.out.println("现在时刻是"+y+"年"+m+"月"+d+"日"+h+"时"+mi+"分"+s+"秒"); 
    还有你系统语言的时区是什么?
      

  7.   

    最好用Calendar来构造日期,比如
      public static Calendar getCalendarNow() {
        return GregorianCalendar.getInstance(TimeZone.getTimeZone("GMT+8"), Locale.SIMPLIFIED_CHINESE);
      }
      

  8.   

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package lesson52;
    import java.util.*;
    /**
     *
     * @author scj
     */
    public class Main {    /**
         * @param args the command line arguments
         */
        @SuppressWarnings("static-access")
        public static void main(String[] args) {
            Calendar c1 = Calendar.getInstance();
            //打印当前时间;
            System.out.println(c1.get(Calendar.YEAR) + "年" + (c1.get(c1.MONTH) + 1) +
                    "月" + c1.get(c1.DAY_OF_MONTH) + "日" + c1.get(c1.HOUR) +
                    ":" + c1.get(c1.MINUTE) + ":" + c1.get(c1.SECOND));
        }
    }
      

  9.   

    yyyy-MM-DD HH:mm:ss,用yyyy-MM-dd HH:mm:ss试试。