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));
}
}