[英]java.sql.Timestamp implementation of Google Android API 10 2.3.3
码:
import java.sql.Timestamp;
Timestamp startTimestamp = new Timestamp(2012, 1, 1, 0, 0, 0, 0);
System.out.println("startTimestamp = " + startTimestamp);
System.out.println("startTimestamp.getYear() = " + startTimestamp.getYear());
输出:
startTimestamp = 3912-02-01 00:00:00.0
startTimestamp.getYear() = 2012
是错误还是我做错了什么?
请注意, new Timestamp(2012, 1, 1, 0, 0, 0, 0);
已弃用,我认为这是您问题的根源!
使用Timestamp startTimestamp = new Timestamp(System.currentTimeMillis());
代替。
另外,请注意, startTimestamp.getYear()
也已弃用!
不推荐使用。 从JDK版本1.1开始,由Calendar.get(Calendar.YEAR)取代。
返回此Date对象表示的月份中的一天。 返回的值在1到31之间,代表包含该Date对象所表示的时刻或从该时刻开始的月份中的某天,如当地时区所解释。
考虑以下示例(基于您的原始代码):
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_YEAR, 1);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Timestamp startTimestamp = new Timestamp(cal.getTimeInMillis());
System.out.println("startTimestamp = " + startTimestamp);
Calendar cal2 = Calendar.getInstance();
cal2.setTimeInMillis(startTimestamp.getTime());
System.out.println("Year = " + cal2.get(Calendar.YEAR));
}
它将产生输出:
startTimestamp = 2012-01-01 12:00:00.0
Year = 2012
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.