new Date().getTime()和Calendar.getInstance().getTimeInMillis()
时间: 2024-06-04 08:07:48 浏览: 124
这两个语句都是获取当前时间的毫秒数,不过前者是JavaScript语言的写法,后者是Java语言的写法。
具体来说,new Date().getTime() 返回的是自1970年1月1日 00:00:00 UTC到当前时间的毫秒数,是一个长整型数值。而Calendar.getInstance().getTimeInMillis() 返回的是当前时间的毫秒数,也是一个长整型数值。在使用上,两者的效果是相同的。
相关问题
LocalDate.now()转为date形式
`LocalDate.now()` 是 Java 8 中 `java.time.LocalDate` 类的一个静态方法,用于获取当前日期,不包含时间信息。当你调用这个方法,你会得到一个表示当前本地日期的新 `LocalDate` 对象。
如果你想将 `LocalDate` 转换为 `java.util.Date` 或者 `java.sql.Date` 形式,以便包含日期和可能的时间部分,你可以按照以下步骤进行:
1. 对于 `java.util.Date`:
```java
import java.util.Calendar;
import java.util.Date;
LocalDate currentDate = LocalDate.now();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, currentDate.getYear());
calendar.set(Calendar.MONTH, currentDate.getMonthValue() - 1); //注意月份从0开始计数
calendar.set(Calendar.DAY_OF_MONTH, currentDate.getDayOfMonth());
Date utilDate = calendar.getTime();
```
2. 对于 `java.sql.Date` (假设你已经导入了 `java.sql.Date` 和 `java.sql.Calendar`):
```java
import java.sql.Calendar;
import java.sql.Date;
LocalDate currentDate = LocalDate.now();
Calendar sqlCalendar = Calendar.getInstance();
sqlCalendar.set(Calendar.YEAR, currentDate.getYear());
sqlCalendar.set(Calendar.MONTH, currentDate.getMonthValue() - 1);
sqlCalendar.set(Calendar.DAY_OF_MONTH, currentDate.getDayOfMonth());
Date sqlDate = new Date(sqlCalendar.getTimeInMillis());
```
在转换过程中,你需要手动设置时间部分,因为 `LocalDate` 只包含日期数据。如果你不需要时间,那么使用 `LocalDate` 自身就足够了。
java 方法:1.运用Date类,计算入职年数和天数
可以使用以下的Java方法来计算入职年数和天数:
```java
import java.util.Date;
import java.util.Calendar;
public class CalculateEmployment {
public static void main(String[] args) {
// 设置入职日期
Calendar hireDate = Calendar.getInstance();
hireDate.set(2010, Calendar.JANUARY, 1); // 假设入职日期是2010年1月1日
// 获取当前日期
Calendar currentDate = Calendar.getInstance();
Date now = currentDate.getTime();
// 计算入职年数
int years = currentDate.get(Calendar.YEAR) - hireDate.get(Calendar.YEAR);
// 如果当前月份小于入职月份,年数减1
if (currentDate.get(Calendar.MONTH) < hireDate.get(Calendar.MONTH)) {
years--;
}
// 计算入职天数
long days = (now.getTime() - hireDate.getTimeInMillis()) / (24 * 60 * 60 * 1000);
System.out.println("入职 " + years + " 年 " + days + " 天");
}
}
```
这个方法使用`java.util.Date`和`java.util.Calendar`类来计算入职年数和天数。首先,我们设置入职日期为2010年1月1日。然后,获取当前日期并计算入职年数。如果当前月份小于入职月份,则年数减1。最后,通过计算两个日期之间的毫秒数差来计算入职天数。
阅读全文