Java获取当前时间戳/时间戳转换

本文介绍了Java中时间戳的两种精度(秒级与毫秒级),并详细讲解了如何使用Date与SimpleDateFormat进行时间戳与日期之间的转换。此外,还提供了通过LocalDate与DateFormatter获取指定日期格式的方法。

时间戳精度有两个概念:1是精确到秒,2是精确到毫秒。

要操作时间戳和时间戳转换为时间一般对应的对象就是Date,而Date各种转换离不开SimpleDateFormat;

如果是要获取时间指定的年月日时,一般对应的是LocalDate,而LocalDate各种转换离不开DateFormatter;

package com.jsoft.testjavabasics.test1;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Hello world!
 * @author jim
 * @date 2017/11/25
 */
public class App {
    public static void main(String[] args) {
        // 精确到毫秒
        // 获取当前时间戳
        System.out.println(System.currentTimeMillis());
        System.out.println(Calendar.getInstance().getTimeInMillis());
        System.out.println(new Date().getTime());

        // 精确到秒
        // 获取当前时间戳
        System.out.println(System.currentTimeMillis() / 1000);
        System.out.println(Calendar.getInstance().getTimeInMillis() / 1000);
        System.out.println(new Date().getTime() / 1000);

        // 精确到毫秒
        // 获取指定格式的时间
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
        // 输出字符串
        System.out.println(df.format(new Date()));
        // 获取指定时间Date对象,参数是时间戳,只能精确到秒
        System.out.println(new Date(1510369871));
        df.getCalendar();
        // 获取指定时间的时间戳
        try {
            System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSS").parse("2017/11/11 11:11:11:111").getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

示例工程:https://github.com/easonjim/5_java_example/tree/master/javabasicstest/test29/test1

 

参考:

http://tool.chinaz.com/Tools/unixtime.aspx(时间戳测试工具)

https://www.cnblogs.com/chen-lhx/p/5915113.html

http://blog.youkuaiyun.com/zhangzehai2234/article/details/53365633

https://www.cnblogs.com/zhujiabin/p/6168671.html?utm_source=itdadao&utm_medium=referral

http://blog.youkuaiyun.com/wanglj7525/article/details/43408749

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==
### 如何在 Java获取当前时间戳(秒级) 在 Java 中,可以通过多种方式来获取当前时间戳的秒级表示形式。以下是几种常见的实现方法: #### 方法一:通过 `System.currentTimeMillis()` 转换为秒 `System.currentTimeMillis()` 返回的是自 1970 年 1 月 1 日 UTC 时间零点以来的毫秒数[^1]。将其除以 1000 即可得到秒级时间戳。 ```java long currentTimeInSeconds = System.currentTimeMillis() / 1000; ``` 这种方法是最常用的方式之一,因为它简洁高效[^4]。 --- #### 方法二:利用 `Calendar` 类获取秒级时间戳 `Calendar.getInstance().getTimeInMillis()` 同样返回毫秒级时间戳,因此也可以通过将其转换为秒级来获得所需的结果[^2]。 ```java long currentTimeInSeconds = Calendar.getInstance().getTimeInMillis() / 1000; ``` 此方法适用于需要更多日期操作场景的情况,尽管其性能可能稍逊于直接使用 `System.currentTimeMillis()`[^3]。 --- #### 方法三:借助 `Date` 对象计算秒级时间戳 创建一个新的 `Date` 实例并调用其 `getTime()` 方法可以取得毫秒值,之后再进行相应的单位转换即可完成目标。 ```java long currentTimeInSeconds = new java.util.Date().getTime() / 1000; ``` 虽然这种方式同样有效,但在大多数情况下推荐优先考虑前两种更直观的选择。 综上所述,在实际开发过程中可以根据具体需求选用上述任意一种方案来达成获取当前时间戳(秒级别)的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值