localdatetime system,currentMills区别

发布时间 2023-03-25 17:00:50作者: java渣渣

System.currentTimeMillis() 和 LocalDateTime.now() 都可以用来获取当前时间,但是它们的返回值类型和精度不同。

System.currentTimeMillis() 返回的是当前时间的毫秒数,是一个 long 类型的数值。这个数值表示了自 1970 年 1 月 1 日 00:00:00 GMT(格林尼治标准时间)以来的毫秒数。由于它的精度是毫秒级别的,所以可以用来计算一些需要高精度计时的操作,比如测量程序的运行时间等。

LocalDateTime.now() 返回的是当前的本地时间,是一个 LocalDateTime 类型的对象。LocalDateTime 是一个不可变的类,它包含了日期和时间的信息,精确到纳秒级别。它可以用来表示任意一个日期和时间,而不受时区的影响。LocalDateTime 可以通过调用各种方法来获取年、月、日、时、分、秒、纳秒等不同时间单位的值。

需要注意的是,System.currentTimeMillis() 获取的是格林尼治标准时间,而 LocalDateTime.now() 获取的是本地时间,它们的返回值可能是不同的。另外,System.currentTimeMillis() 是一个静态方法,直接通过类名调用;而 LocalDateTime.now() 是一个实例方法,需要通过对象来调用。

综上所述,System.currentTimeMillis() 和 LocalDateTime.now() 都可以用来获取当前时间,但是它们的返回值类型和精度不同,应该根据具体的需求选择合适的方法来使用。