title: Java Converting date to epoch value produces false output
body: <p>I am trying to convert the below date time string object  into a unix epoch timestamp value. However, when i run the program i notice that it generates an epoch value of 1404461110000 which when i check on my ubuntu unix machine is Wed Aug  7 18:06:40 However in reality i am passing July 04 2014-07-04 04:05:10. I have a time zone of America/Toronto on my ubuntu machine but I don't think it should matter here ?  </p>
  
  <p>Java code:</p>
  
  <pre><code>            long epoch = 0;
              String str = "2014-07-04 04:05:10";   // UTC
  
              DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              Date datenew = df.parse(str);
              epoch = datenew.getTime();
  
              System.out.println(epoch); // prints 1404461110000
  </code></pre>
  
  <p>Ubuntu Linux 14.04</p>
  
  <pre><code>date -d@1404461110000
  </code></pre>
  
  <p>displays= Wed Aug  7 18:06:40 EDT 46475</p>