2014-07-09 37 views
1

我需要在Timestamp實例中設置全零。如何在java中的Timestamp實例中設置所有的零?

這裏是我試過

代碼
import java.sql.Timestamp; 

public class UI 
{ 
    public static void main(String args[]) 
    { 
     Timestamp timestamp = Timestamp.valueOf("0000-00-00 00:00:00.0"); 
     System.out.println(timestamp); 
    } 
} 

它顯示輸出

0002-11-30 00:00:00.0 

如何設置時間戳的值,使得輸出將顯示

0000-00-00 00:00:00.0 
+0

@task:月00月 – Pphoenix

+1

你能解釋一下你的問題嗎?一年中全零代表零年,意思是基督出生的大概時間。 –

+0

好吧,我們將顯示0002-11-30 00:00:00.0以及我們如何設置全零。 – Varun

回答

3

這是不可能實例化一個Timestamp0000-00-00 00:00:00
valueOf呼叫的構造函數,它在源代碼中具有以下的javadocs(從offical javadocs API截取):

Constructs a Timestamp object initialized with the given values. 

Deprecated: instead use the constructor Timestamp(long millis) 

Parameters: 
year the year minus 1900 
month 0 to 11 
date 1 to 31 
hour 0 to 23 
minute 0 to 59 
second 0 to 59 
nano 0 to 999,999,999 

日期參數必須的值1-31之間。

+0

感謝您的支持。 – Varun

1

'0000-00-00 00:00:00'不能被表示爲java.sql.Timestamp

試試這個

public class Test { 

public static void main(String[] args) { 
    try { 
     String[] s = {"0001-01-01 00:00:00.0", "0000-00-00 00:00:00"}; 
     for (String value : s) { 
      Timestamp t = Timestamp.valueOf(value); 
      System.out.println(t.toString() + ", " + t.getTime()); 
     } 
    } catch (Exception e) { 
     System.out.println(e.getMessage()); 
    } 
} 
} 
+0

這就是我想說的[這裏](http://stackoverflow.com/questions/24648035/how-to-set-all-zeros-in-timestamp-instance- in-java?noredirect = 1#comment38206667_24648035) –

0

沒有第0個月有第0天(並且沒有第0年取決於你的日曆)。如果你想改變時間戳的打印方式,你可以這樣做:

Timestamp ts = new Timestamp(Long.MIN_VALUE) { 
    public String toString() { 
     return "0000-00-00 00:00:00.0"; 
    } 
}; 

這將打印你期望的樣子。

0

java.sql.Timestamp文檔的快速檢查表明,類 - 時間戳僅支持以下參數值:

  • - 年減去1900
  • - 0到11
  • date - 1 to 31
  • 小時 - 0到23
  • 分鐘 - 0到59
  • 第二 - 0到59
  • 納米 - 0到999,999,999

所以,回答你的問題是,您不能將該值設置爲: 0000-00-00 00:00:00.0 但是,您可以將小時,分鐘,秒和納秒值設置爲00:00:00.0

您能夠成功執行您的代碼嗎? 執行您的代碼導致:

線程「main」java.lang中的異常。拋出:IllegalArgumentException:時間戳格式必須爲YYYY-MM-DD HH:MM:SS [.fffffffff] 在java.sql.Timestamp.valueOf(來源不明)
相關問題