该空间是个人实践过程中的总结,欢迎交流吐槽!

【脚本写作】Java:Uinux时间戳转换

上一篇 / 下一篇  2017-01-19 10:19:35 / 个人分类:Java

package com.jcloud.common;

import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * Created by Janesong on 2017/1/18. Updated on 2017/3/20.
 */
public class UnitConversion {

    /**
     * 日期格式字符串转换成时间戳
     *
     * @param String dateStr
     * @return String
     */
    public static String dateToTimeStamp(String dateStr) {
        try {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            String dateStr = simpleDateFormat.format(new Date());
            String stamp = String.valueOf(simpleDateFormat.parse(dateStr).getTime() / 1000);
//            System.out.println("Now time is " + dateStr);
            return stamp;
        } catch (Exception exLog) {
            exLog.printStackTrace();
        }
        return "";
    }

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

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

    /**
     * 转换时间格式:将入参Date dateTime转换为指定格式format,并返回String型
     * format = "yyyy-MM-dd HH:mm:ss"  // 24H
     * format = "yyyy-MM-dd hh:mm:ss"  // 12H
     * @param String dateTime, String formate
     * @return String dateString
     */
    public static String dateTimeToFormateTime(Date dateTime, String format) {
        String dateString = "";

        if (dateTime != null) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
            dateString = simpleDateFormat.format(dateTime);
        }
        return dateString;
    }

    /**
     * 转换时间格式:将入参string strDate(符合formatOld格式)转为新格式formatNew,并返回String型
     * 示例:Thu, 16 Mar 2017 12:35:52 GMT ,则formatOld="d MMM yyyy HH:mm:ss 'GMT'"
     * @param String strDate,String formatOld, String formatNew
     * @return String dateString
     */
    public static String stringTimeToFormateTime(String strDate,String formatOld, String formatNew) throws Exception {
        String dateString = "";
        if (!(strDate.equals(null) && strDate.equals(""))) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, " + formatOld, Locale.US);
            Date date = simpleDateFormat.parse(strDate);
            simpleDateFormat = new SimpleDateFormat(formatNew);
            dateString = simpleDateFormat.format(date);
//            System.out.println(simpleDateFormat.format(date));
        }

        return dateString;
    }

    /**
     * 判断:StartTime与EndTime时差是否超过24h
     *
     * @param String startTime, String endTime
     * @return boolean
     * @throws Exception
     */
    public static boolean judgeStartToEndMore24(String startTime, String endTime) throws Exception {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");

        Date startDate = simpleDateFormat.parse(startTime);
        Date endDate = simpleDateFormat.parse(endTime);

        return (endDate.getTime() - startDate.getTime() >= 1000*60*60*24);
    }

}


TAG: 时间戳 java Java

 

评分:0

我来说两句

我的栏目

日历

« 2024-03-29  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 17630
  • 日志数: 16
  • 建立时间: 2016-09-08
  • 更新时间: 2018-03-28

RSS订阅

Open Toolbar