Advertisement

Java与Unix时间戳的相互转换

阅读量:

Java将Unix时间戳转换成指定格式日期

当我们从服务器获取数据时,
有时会遇到类似这样的场景:
服务器返回的时间信息是以1473048265这样的数字形式表示。
然而,
由于无法直接向用户展示这些以时间戳形式记录的数据,
因此需要对方形的时间戳进行一系列的转换与调整,
使其呈现出一种易于查看与阅读的格式。
那么,
如何正确地对这些带有时间戳格式的数据进行处理呢?
每个编程语言和框架都有其特定的操作方法和实现细节。

下面将以java的方法来实现,废话少说直接撸码……

方法实现

复制代码
    /** * Java将Unix时间戳转换成指定格式日期字符串
     * @param timestampString 时间戳 如:"1473048265";
     * @param formats 要格式化的格式 默认:"yyyy-MM-dd HH:mm:ss";
     * * @return 返回结果 如:"2016-09-05 16:06:42";
     */
    public static String TimeStamp2Date(String timestampString, String formats) {
        if (TextUtils.isEmpty(formats))
            formats = "yyyy-MM-dd HH:mm:ss";
        Long timestamp = Long.parseLong(timestampString) * 1000;
        String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
        return date;
    }

调用方法

复制代码
    TimeStamp2Date("1473048265", "yyyy-MM-dd HH:mm:ss");

返回结果

2016-09-05 16:06:42

将Java指定格式日期转换成Unix时间戳

复制代码
    /** * 日期格式字符串转换成时间戳
     * * @param dateStr 字符串日期
     * @param format   如:yyyy-MM-dd HH:mm:ss
     * * @return
     */
    public static String Date2TimeStamp(String dateStr, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return String.valueOf(sdf.parse(dateStr).getTime() / 1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

取得当前时间戳(精确到秒)

复制代码
    /** * 取得当前时间戳(精确到秒)
     * * @return nowTimeStamp
     */
    public static String getNowTimeStamp() {
        long time = System.currentTimeMillis();
        String nowTimeStamp = String.valueOf(time / 1000);
        return nowTimeStamp;
    }

全部评论 (0)

还没有任何评论哟~