java生成時間
㈠ java做一個時間的程序,為什麼要除以1000*60*60*24
Java一開始生成的時間的單位是毫秒
除以1000單位就變成秒
再除以60單位就變成分鍾
再除以60變成小時
再除以24變成天
1442332689043 ÷ 1000 ÷ 60 ÷ 60 ÷ 24 = 1442332689043 ÷ (1000 × 60 × 60 × 24)
如果你想要得到小時,就把24去掉就可以了,根據自己的需求來定。
㈡ java如何獲取當前時間 年月日 時分秒
//得到long類型當前時間
longl=System.currentTimeMillis();
//new日期對
Datedate=newDate(l);
//轉換提日期輸出格式
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-
ddHH:mm:ss");System.out.println(dateFormat.format(date));
(2)java生成時間擴展閱讀
package com.ob;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) throws ParseException {
Calendar now = Calendar.getInstance();
System.out.println("年: " + now.get(Calendar.YEAR));
System.out.println("月: " + (now.get(Calendar.MONTH) + 1) + "");
System.out.println("日: " + now.get(Calendar.DAY_OF_MONTH));
System.out.println("時: " + now.get(Calendar.HOUR_OF_DAY));
System.out.println("分: " + now.get(Calendar.MINUTE));
System.out.println("秒: " + now.get(Calendar.SECOND));
System.out.println("當前時間毫秒數:" + now.getTimeInMillis());
System.out.println(now.getTime());
Date d = new Date();
System.out.println(d);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateNowStr = sdf.format(d);
System.out.println("格式化後的日期:" + dateNowStr);
String str = "2012-1-13 17:26:33";
//要跟上面sdf定義的格式一樣
Date today = sdf.parse(str);
System.out.println("字元串轉成日期:" + today);
}
}
㈢ java 隨機時間
java生成某個時間段內的隨機時間(先定義一個時間段,之後隨機生成符合條件的時間):
DaterandomDate=randomDate("2010-09-20","2010-09-21");
/**
*生成隨機時間
*@parambeginDate
*@paramendDate
*@return
*/
privatestaticDaterandomDate(StringbeginDate,StringendDate){
try{
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");
Datestart=format.parse(beginDate);//構造開始日期
Dateend=format.parse(endDate);//構造結束日期
//getTime()表示返回自1970年1月1日00:00:00GMT以來此Date對象表示的毫秒數。
if(start.getTime()>=end.getTime()){
returnnull;
}
longdate=random(start.getTime(),end.getTime());
returnnewDate(date);
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}
privatestaticlongrandom(longbegin,longend){
longrtn=begin+(long)(Math.random()*(end-begin));
//如果返回的是開始時間和結束時間,則遞歸調用本函數查找隨機值
if(rtn==begin||rtn==end){
returnrandom(begin,end);
}
returnrtn;
}
㈣ Java編程實現: 在主線程里創建一個Map對象numberMap,用來保存每個隨機數最早的生成時間代碼怎麼實現
代碼如下:
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Random;
publicclassApp{
publicstaticvoidmain(String[]args){
Map<Integer,Date>numberMap=newHashMap<>();
Randomrandom=newRandom(System.currentTimeMillis());
for(inti=0;i<10;i++){
intnumber=random.nextInt(1000);
if(!numberMap.containsKey(number)){
numberMap.put(number,newDate());
}
}
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
for(Map.Entry<Integer,Date>entry:numberMap.entrySet()){
System.out.println(entry.getKey()+"->"+format.format(entry.getValue()));
}
}
}
運行結果:
㈤ Java程序如何根據經緯度生成其當地實時時間
思路:
通過經緯度獲取當地時區(網路有現成的例子)
獲取你電腦當前的時間
時間原則上是每隔一個時區相差一個小時,所以你可以根據你的時間加上或者減去時區去算出經緯度所在地的實時時間
㈥ 怎樣用java生成5000個格式為「yyyy-MM-dd HH-mm-ss」的日期,時間為2014年9月1到9月30,求幫助
publicstaticvoidmain(String[]args){
//用java生成5000個格式為「yyyy-MM-ddHH-mm-ss」的日期,時間為2014年9月1到9月30
//此對象用於生成偽隨機數流
Randomr=newRandom();
//此對象定義時間格式
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH-mm-ss");
//定義變數分別描述幾號、小時、分鍾、秒鍾
intday=0;
inthrs=0;
intmin=0;
intsec=0;
for(inti=0;i<5000;i++){
//隨機獲得日、小時、分鍾、秒鍾的值
day=r.nextInt(30)+1;//取值范圍:1-30
hrs=r.nextInt(24);//取值范圍:0-23
min=r.nextInt(60);//取值范圍:0-59
sec=r.nextInt(60);//取值范圍:0-59
//由於年份和月份是固定的所有寫死(2014-1900)=2014年,(9-1)=9月,其餘部分使用隨機數
Datedate=newDate((2014-1900),(9-1),day,hrs,min,sec);
System.out.println(sdf.format(date));
}
}