owl*_*mer 7 java variables date
import java.util.Date;
Date firstDate;
Run Code Online (Sandbox Code Playgroud)
我不知道如何初始化firstDate,例如你说的String
String line1="First line"
Run Code Online (Sandbox Code Playgroud)
但是你能给我一个例子,日期的格式是什么?
小智 7
以下是Oracle网站上用于Date类的Javadoc:https://docs.oracle.com/javase/8/docs/api/java/util/Date.html
如果向下滚动到"构造函数摘要",你会看到如何实例化Date对象的不同选项.与Java中的所有对象一样,您可以使用以下内容创建一个新对象:
Date firstDate = new Date(ConstructorArgsHere);
Run Code Online (Sandbox Code Playgroud)
现在你有一点选择.如果你没有传入任何参数,只是这样做,
Date firstDate = new Date();
Run Code Online (Sandbox Code Playgroud)
它将代表您调用它的确切日期和时间.以下是您可能想要使用的一些其他构造函数:
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);
Run Code Online (Sandbox Code Playgroud)
小智 6
要从字符串解析日期,您可以选择您希望它具有的格式。例如:
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 ;
}
Run Code Online (Sandbox Code Playgroud)
如果你现在想使用这个方法,你将不得不使用这样的东西
Date date = StringToDate("2015-12-06 17:03:00");
Run Code Online (Sandbox Code Playgroud)
有关更多解释,您应该查看http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
使用Instant,替代java.util.Date。
Instant.now() // Capture current moment as seen in UTC.
Run Code Online (Sandbox Code Playgroud)
如果你必须有一个Date,转换。
java.util.Date.from( Instant.now() )
Run Code Online (Sandbox Code Playgroud)
java.util.Date 和 .Calendar 类已被内置于 Java 8 及更高版本中的 java.time 框架所取代。受成功的 Joda-Time 库的启发,新类是一个巨大的改进。
java.time 类倾向于使用静态工厂方法而不是构造函数来实例化对象。
要获取 UTC 时区的当前时刻:
Instant instant = Instant.now();
Run Code Online (Sandbox Code Playgroud)
要获取特定时区的当前时刻:
ZoneId zoneId = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = ZonedDateTime.now( zoneId );
Run Code Online (Sandbox Code Playgroud)
如果您必须有一个 java.util.Date 与尚未针对 java.time 类型更新的其他类一起使用,请从Instant.
java.util.Date date = java.util.Date.from( zdt.toInstant() );
Run Code Online (Sandbox Code Playgroud)
该java.time框架是建立在Java 8和更高版本。这些类取代了麻烦的旧的遗留日期时间类,例如java.util.Date, Calendar, & SimpleDateFormat。
要了解更多信息,请参阅Oracle 教程。并在 Stack Overflow 上搜索许多示例和解释。规范是JSR 310。
现在处于维护模式的Joda-Time项目建议迁移到java.time类。
您可以直接与您的数据库交换java.time对象。使用符合JDBC 4.2或更高版本的JDBC 驱动程序。不需要字符串,不需要类。java.sql.*
从哪里获得 java.time 类?
该ThreeTen-额外项目与其他类扩展java.time。该项目是未来可能添加到 java.time 的试验场。你可能在这里找到一些有用的类,比如Interval,YearWeek,YearQuarter,和更多。
java.util.Date构造函数,其参数如
new Date(int year,int month,int date,int hrs,int min)。已弃用,最好不再使用。Oracle文档比java.util.Calendar更喜欢这种方式。因此,您可以设置任何日期并通过getTime()方法实例化Date对象。
Calendar calendar = Calendar.getInstance();
calendar.set(2018, 11, 31, 59, 59, 59);
Date happyNewYearDate = calendar.getTime();
Run Code Online (Sandbox Code Playgroud)
请注意,月份号从0开始
要初始化为当前日期,您可以执行以下操作:
Date firstDate = new Date();
Run Code Online (Sandbox Code Playgroud)
要从 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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75322 次 |
| 最近记录: |