java的time
❶ java time類型怎麼轉化成uix
Date轉unix時間戳?
Date date = new Date();
long time = date.getTime / 1000;//unix時間戳
❷ java time 轉 int
你說的是要把Time轉成毫秒吧,int a=tt.getTime(); int b=tt2.getTime();
❸ java中的Time類
Time應該是Util包下的~
用的時候需導入UTIL包..
然後再點就會出你所要的了~
❹ JAVA里的Date.getTime()方法問題
沒分...555不過還是告訴你吧,要這樣寫
public static void main(String args[]){
long a=new Date().getTime();
long b =1000;
long l=b*60*60*24*356;
System.out.println(a/l);
}
因為你原來的long b=1000*60*60*24*356;這個式子的數字都是int型你這樣轉是不對的...
我的解決是先定義一個long型..然後進行向上匹配..得到long 型
問題就這樣....運行過是38年
❺ 在JAVA里timestr表示什麼意思
沒具體代碼,看不懂,不過根據命名的規范,可以猜測是和時間有關系的字元串
tiem + string = timestr
可能是對日期類型轉換到字元串類型的一個存儲變數
例子
package test;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class SQLDate {
public static void main(String[] args){
System.out.println(System.currentTimeMillis()); //結果:1244711626453
java.util.Date date1 = new java.util.Date();
System.out.println(date1.toString()); //結果: Thu Jun 11 16:27:57 CST 2009
//java.sql.Date extends java.util.Date
java.sql.Date date2 = new java.sql.Date(System.currentTimeMillis());
System.out.println(date2.toString()); //結果: 2009-06-11
java.sql.Date date3 = new java.sql.Date(date1.getTime());
System.out.println(date3.toString()); //結果:2009-06-11
//Timestamp extends java.util.Date
Timestamp stamp1 = new Timestamp(System.currentTimeMillis());
System.out.println(stamp1.toString()); //結果: 2009-06-11 16:27:57.75
Timestamp stamp2 = new Timestamp(date1.getTime());
System.out.println(stamp2.toString()); //結果:2009-06-11 16:52:56.171
//日期時間轉換成格式化的字元串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//format(java.util.Date date), Timestamp是java.util.Date的子類
String timeStr = sdf.format(stamp1);
System.out.println(timeStr); //結果:2009/06/11 16:52:56
//SimpleDateFormat extends DateFormat,DateFormat是抽象類
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String timeStr2 = df.format(date1);
String timeStr3 = df.format(date2);
System.out.println(timeStr2); //結果:2009/06/11 16:52:56
System.out.println(timeStr3); //結果: 2009/06/11 16:52:56
//字元串轉化為日期時間
try {
//parse()中的參數必須與sdf中定義的格式一致,否則拋異常
java.util.Date date6 = sdf.parse("2009/12/10 5:12:02");
System.out.println(date6.toString()); //結果: Thu Dec 10 05:12:02 CST 2009
java.sql.Date date7 = new java.sql.Date(date6.getTime());
System.out.println(date7.toString()); //結果: 2009-12-10
//注意: sdf.parse()返回值是java.util.Date類型,不能轉化成java.sql.Date類型
//java.sql.Date date8 = (java.sql.Date)sdf.parse("2009/12/10 5:12:02"); //不可行
Timestamp stamp9 = new Timestamp(date7.getTime());
System.out.println(stamp9.toString()); //結果: 2009-12-10 05:12:02.0
} catch (ParseException e) {
e.printStackTrace();
}
}
❻ java中time().tostring()問題
看你你調用的頻率有多高,以及你電腦有多快。試試這個,看重復多少次:
for (int i = 0; i < 100; i++) {
System.out.println(new Date().getTime());
}
❼ JAVA時間裡面的getTime
確實是一個值得思考的問題。我只發現淺層次的直接原因:精確到秒
這個差異是由 SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 在解析特定日期
1927-12-31 23:54:07到1927-12-31 23:54:08造成的。
這「一秒鍾」內發生突變,相差352000毫秒,約5分52秒。
就能解釋你「得到的結果就為1940-01-30 23:54:08"的誤差
用Calendar和GregorianCalendar類驗證,結果相同。
是Java的錯誤,還是歷史規定,沒有查到相關資料,深層次的原因不明。
❽ java怎麼比較時間的大小
例子:
String beginTime=new String("2017-06-09 10:22:22");
String endTime=new String("2017-05-08 11:22:22");
直接用Date自帶方法before()和after()比較
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));
用String的compareTo()方法:
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
返回正值是代表左側日期大於參數日期,反之亦然,日期格式必須一致
轉成date格式換成秒數比較秒數大小,getTime()方法
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
long long1 =sd1.getTime()
long long2= sd2.getTime()
(8)java的time擴展閱讀:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
❾ java 怎麼得到timestamp的類型的當前時間
在java當中要獲得timestamp的類型的當前時間,需要按照不同的java類型進行正確的編碼,掌握相關的技巧來整理系統時間數據,並及時修補漏洞即可解決該問題,具體的操作方法可以吃參考下面的內容。
❿ 程序包java.time不存在怎麼解決
jdk版本太低,java.time.LocalTime是java 8新出的包。如果版本太低的話,比如jdk1.6,當然java.time不存在。換一個好版本的jdk!!
為什麼需要新的日期/日期API?
在開始研究Java 8日期/時間API之前,讓我們先來看一下為什麼我們需要這樣一個新的API。在Java中,現有的與日期和時間相關的類存在諸多問題,其中有:
Java的日期/時間類的定義並不一致,在java.util和java.sql的包中都有日期類,此外用於格式化和解析的類在java.text包中定義。
java.util.Date同時包含日期和時間,而java.sql.Date僅包含日期,將其納入java.sql包並不合理。另外這兩個類都有相同的名字,這本身就是一個非常糟糕的設計。
對於時間、時間戳、格式化以及解析,並沒有一些明確定義的類。對於格式化和解析的需求,我們有java.text.DateFormat抽象類,但通常情況下,SimpleDateFormat類被用於此類需求。
所有的日期類都是可變的,因此他們都不是線程安全的,這是Java日期類最大的問題之一。
日期類並不提供國際化,沒有時區支持,因此Java引入了java.util.Calendar和java.util.TimeZone類,但他們同樣存在上述所有的問題。
在現有的日期和日歷類中定義的方法還存在一些其他的問題,但以上問題已經很清晰地表明:Java需要一個健壯的日期/時間類。這也是為什麼Joda Time在Java日期/時間需求中扮演了高質量替換的重要角色。
Java 8日期/時間API
Java 8日期/時間API是JSR-310的實現,它的實現目標是克服舊的日期時間實現中所有的缺陷,新的日期/時間API的一些設計原則是:
不變性:新的日期/時間API中,所有的類都是不可變的,這對多線程環境有好處。
關注點分離:新的API將人可讀的日期時間和機器時間(unix timestamp)明確分離,它為日期(Date)、時間(Time)、日期時間(DateTime)、時間戳(unix timestamp)以及時區定義了不同的類。
清晰:在所有的類中,方法都被明確定義用以完成相同的行為。舉個例子,要拿到當前實例我們可以使用now()方法,在所有的類中都定義了format()和parse()方法,而不是像以前那樣專門有一個獨立的類。為了更好的處理問題,所有的類都使用了工廠模式和策略模式,一旦你使用了其中某個類的方法,與其他類協同工作並不困難。
實用操作:所有新的日期/時間API類都實現了一系列方法用以完成通用的任務,如:加、減、格式化、解析、從日期/時間中提取單獨部分,等等。
可擴展性:新的日期/時間API是工作在ISO-8601日歷系統上的,但我們也可以將其應用在非IOS的日歷上。
Java 8 日期/時間API包:
java.time包:這是新的Java日期/時間API的基礎包,所有的主要基礎類都是這個包的一部分,如:LocalDate, LocalTime, LocalDateTime, Instant, Period, Duration等等。所有這些類都是不可變的和線程安全的,在絕大多數情況下,這些類能夠有效地處理一些公共的需求。
java.time.chrono包:這個包為非ISO的日歷系統定義了一些泛化的API,我們可以擴展AbstractChronology類來創建自己的日歷系統。
java.time.format包:這個包包含能夠格式化和解析日期時間對象的類,在絕大多數情況下,我們不應該直接使用它們,因為java.time包中相應的類已經提供了格式化和解析的方法。
java.time.temporal包:這個包包含一些時態對象,我們可以用其找出關於日期/時間對象的某個特定日期或時間,比如說,可以找到某月的第一天或最後一天。你可以非常容易地認出這些方法,因為它們都具有「withXXX」的格式。
java.time.zone包:這個包包含支持不同時區以及相關規則的類。