怎样用java生成5000个格式为“yyyy-MM-dd HH-mm-ss”的日期,时间为2014年9月1到9月30,求帮助
发布网友
发布时间:2022-04-24 11:33
我来回答
共5个回答
热心网友
时间:2023-10-11 08:01
public static void main(String[] args) {
//用java生成5000个格式为“yyyy-MM-dd HH-mm-ss”的日期,时间为2014年9月1到9月30
//此对象用于生成伪随机数流
Random r=new Random();
//此对象定义时间格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
//定义变量分别描述 几号、小时、分钟、秒钟
int day=0;
int hrs=0;
int min=0;
int sec=0;
for(int i=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月,其余部分使用随机数
Date date=new Date((2014-1900),(9-1),day,hrs,min,sec);
System.out.println(sdf.format(date));
}
}
追问谢了
追答问题搞定后要点采纳
热心网友
时间:2023-10-11 08:02
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class TestTime
{
public static void main(String args[])
{
try
{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
Calendar calendar = Calendar.getInstance();
calendar.setTime(df.parse("2014-09-01 12-01-11"));
int j = 1;
for(int i=1; i<=5000; i++)
{
j = j+3;
calendar.add(Calendar.MINUTE, j);
df.format(calendar.getTime()).toString();
System.out.println(df.format(calendar.getTime()).toString());
calendar.setTime(df.parse("2014-09-01 12-01-11"));
}
}
catch (ParseException e)
{
e.printStackTrace();
}
}
}
直接运行就ok,但我的代码是写死的3分钟3分钟加,你也可以把间隔时间调大点,改j = j+n就好了
热心网友
时间:2023-10-11 08:02
那会不是你问的?刚解答了一个这样的问题。不是你么?
热心网友
时间:2023-10-11 08:03
5000个 是随机 还是说 随便追问刚才那个我试来,不行,麻烦给写个完整地类,谢谢
追答你是要循环生产的事件 还是随机的时间啊
热心网友
时间:2023-10-11 08:04
public static void main(String[] args) {
gendate();
}
private static void gendate() {
Calendar c = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c.set(2014, 8, 1,0,0,0);
c2.set(2014, 8, 30,23,59,59);
long x=c.getTimeInMillis();
long x2=c2.getTimeInMillis();
long step=(x2-x)/5000;
int i = 0;
while (i++ < 5000) {
Date d = c.getTime();
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
String s = sd.format(d);
System.out.println(s);
c.add(Calendar.MILLISECOND,(int)step);
}
}