import java.util.Date;
Date firstDate;
我不知道如何初个化firstDate例如你说的字符串
String line1="First line"
但是你能给我一个例子,日期的格式是什么?
答案 0 :(得分:6)
这是Oracle在Oracle日程类网站上的Javadoc:https://docs.oracle.com/javase/8/docs/api/java/util/Date.html
如果向下滚动到"构造函数摘要,"您将看到如何实例化Date对象的不同选项。与Java中的所有对象一样,您可以使用以下内容创建一个新对象:
Date firstDate = new Date(ConstructorArgsHere);
现在你有一点选择。如果您没有传递任何参数,只需这样做,
Date firstDate = new Date();
它将代表您调用它的确切日期和时间。以下是您可能想要使用的一些其他构造函数:
Date firstDate1 = new Date(int year, int month, int date);
Date firstDate2 = new Date(int year, int month, int date, int hrs, int min);
Date firstDate3 = new Date(int year, int month, int date, int hrs, int min, int sec);
答案 1 :(得分:2)
要从字符串解析日期,您可以选择希望它具有的格式。例如:
public Date StringToDate(String s){
Date result = null;
try{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
result = dateFormat.parse(s);
}
catch(ParseException e){
e.printStackTrace();
}
return result ;
}
如果您现在想使用此方法,则必须使用此类
Date date = StringToDate("2015-12-06 17:03:00");
有关详细说明,请查看http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
答案 2 :(得分:1)
要初始化为当前日期,您可以执行以下操作:
Date firstDate = new Date();
要从String获取它,您可以使用SimpleDateFormat之类的:
String dateInString = "10-Jan-2016";
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
//handle exception if date is not in "dd-MMM-yyyy" format
}
答案 3 :(得分:1)
java.util.Date 构造函数,其参数例如
新日期(int年,int月,int日期,int hrs,int分钟)。
已弃用,最好不再使用。 Oracle文档比 java.util.Calendar 更喜欢这种方式。因此,您可以设置任何日期并通过getTime()方法实例化Date对象。
Calendar calendar = Calendar.getInstance();
calendar.set(2018, 11, 31, 59, 59, 59);
Date happyNewYearDate = calendar.getTime();
请注意,月份号从0开始
答案 4 :(得分:0)
java.util.Date& .Calendar类已被Java 8及更高版本中内置的java.time框架所取代。新的类是巨大的改进,受到成功的Joda-Time库的启发。
java.time类倾向于使用静态factory methods而不是constructors来实例化对象。
以UTC时区获取当前时刻:
Instant instant = Instant.now();
获取特定时区的当前时刻:
ZoneId zoneId = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = ZonedDateTime.now( zoneId );
如果必须有一个java.util.Date用于尚未针对java.time类型更新的其他类,请从Instant
转换。
java.util.Date date = java.util.Date.from( zdt.toInstant() );
java.time框架内置于Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date
,Calendar
和& SimpleDateFormat
现在位于Joda-Time的maintenance mode项目建议迁移到java.time类。
要了解详情,请参阅Oracle Tutorial。并搜索Stack Overflow以获取许多示例和解释。规范是JSR 310。
您可以直接与数据库交换 java.time 对象。使用符合JDBC driver或更高版本的JDBC 4.2。不需要字符串,不需要java.sql.*
类。
从哪里获取java.time类?
ThreeTen-Extra项目使用其他类扩展java.time。该项目是未来可能添加到java.time的试验场。您可以在此处找到一些有用的课程,例如Interval
,YearWeek
,YearQuarter
和more。
答案 5 :(得分:0)
2020 年更新:将 LocalDate 用于简单日期。
然后我们将 1988 年 10 月 23 日的日期初始化如下:
LocalDate date = LocalDate.of(1988,10,23);