我如何在java上获取计算机的日期,我只想要年,月,日我试图像这样获得日历
Calendar c =Calendar.getInstance();
c.clear(Calendar.HOUR)
却不知如何应对,
我如何在java上获取计算机的日期,我只想要年,月,日我试图像这样获得日历
Calendar c =Calendar.getInstance();
c.clear(Calendar.HOUR)
却不知如何应对,
谷歌上的第一个链接:
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
private String getDateTime() {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
return dateFormat.format(date);
}
试试这一行代码.....
// 打印 01-07-2012
System.out.println(new SimpleDateFormat("dd-MM-YYYY").format(new Date()));
// 打印 2012 年 7 月 1 日
System.out.println(new SimpleDateFormat("dd-MMM-YYYY").format(new Date()));
year/month/day
您可以像这样以字符串形式获取当前日期:
String strDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
System.out.println(strDate);
> 2012-07-01
请注意,一个Date
对象将始终包含年、月、日、小时、分钟、秒、毫秒等,并且通过调用new Date()
您可以获得具有当前时间的日期对象。
如果您只需要日期的某些字段(例如,年、月和日),则需要使用格式化程序来格式化日期,例如SimpleDateFormat。检查链接以了解有关 Java 中可用的字符串格式化选项的更多信息。
Calendar rightNow = Calendar.getInstance();
int y = rightNow.get(Calendar.YEAR);
int m = rightNow.get(Calendar.MONTH) + 1;
int d = rightNow.get(Calendar.DAY_OF_MONTH);
System.out.println("year "+y+" month "+m+" day "+d);
一些使用Joda-Time 2.4 库的示例代码。
java.util.Date 和 .Calendar 类是出了名的麻烦。避开他们。使用 Joda-Time 或 Java 8 中的新 java.time 包(受 JSR 310 定义的 Joda-Time 启发)。
注意时区的使用。时区是确定日期所必需的。加尔各答和巴黎的同一时刻在日历上可能有不同的日期。如果省略时区,将应用 JVM 当前的默认时区。这意味着您的结果可能会有所不同,因此最好明确指定您想要的时区。
String output = LocalDate.now( TimeZone.forID( "Asia/Kolkata" ) ).toString();