我需要创建两个日期对象.如果当前日期和时间是2012年3月9日上午11:30那么
- 日期对象d1应为2012年3月9日12:00 AM
- 日期对象d2应包含当前日期本身
不会输入日期,而是系统日期.
更新:
Date dt = new Date();
System.out.print(dt.toString());
Run Code Online (Sandbox Code Playgroud)
给出当前的日期和时间
Nis*_*ant 58
Calendar c = new GregorianCalendar();
c.set(Calendar.HOUR_OF_DAY, 0); //anything 0 - 23
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
Date d1 = c.getTime(); //the midnight, that's the first second of the day.
Run Code Online (Sandbox Code Playgroud)
应该是2012年1月9日星期五00:00:00
小智 33
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
System.out.println(sdf.format(date));
Run Code Online (Sandbox Code Playgroud)
Jen*_*ann 15
这是一个基于Java 8的解决方案,使用新的java.time包(教程).
如果您可以在代码中使用Java 8对象,请使用LocalDateTime:
LocalDateTime now = LocalDateTime.now(); // current date and time
LocalDateTime midnight = now.toLocalDate().atStartOfDay();
Run Code Online (Sandbox Code Playgroud)
如果您需要遗留日期,即java.util.Date:
将LocalDateTime上面创建的内容转换为Date使用这些转换:
LocalDateTime- >ZonedDateTime- >Instant- >Date
调用atZone(zone)与指定的时区(或ZoneId.systemDefault()为系统默认时区)来创建ZonedDateTime对象,调整后的DST根据需要.
ZonedDateTime zdt = midnight.atZone(ZoneId.of("America/Montreal"));
Run Code Online (Sandbox Code Playgroud)打电话toInstant()转换ZonedDateTime为Instant:
Instant i = zdt.toInstant()
Run Code Online (Sandbox Code Playgroud)最后,调用Date.from(instant)将其转换Instant为Date:
Date d1 = Date.from(i)
Run Code Online (Sandbox Code Playgroud)
总之,它看起来与您的相似:
LocalDateTime now = LocalDateTime.now(); // current date and time
LocalDateTime midnight = now.toLocalDate().atStartOfDay();
Date d1 = Date.from(midnight.atZone(ZoneId.systemDefault()).toInstant());
Date d2 = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());
Run Code Online (Sandbox Code Playgroud)
另见部分遗产日期,时间码(使用Java™教程)为新的互操作性java.time与传统的功能java.util类.
Cha*_*har 10
Calendar currentDate = Calendar.getInstance(); //Get the current date
SimpleDateFormat formatter= new SimpleDateFormat("yyyy/MMM/dd HH:mm:ss"); //format it as per your requirement
String dateNow = formatter.format(currentDate.getTime());
System.out.println("Now the date is :=> " + dateNow);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
197067 次 |
| 最近记录: |