时间和时间戳的转换

在我开发项目当中,就遇到了一个需求就是日历类转换为时间戳,当时实在是懵比,因为时间戳是long类型的,一时不知道怎么转换,好啦废话不多说了,直接简单粗暴的上代码吧,看一下转换的工具类

public class SetDataUtil {
    public static final String DATEFORMAT = "yyyy-MM-dd";

    public static String getTime(long l){
        String str = String.valueOf(l);
        return str.substring(0, 10);
    }

    /**
     *
     * @param user_time
     *            时间
     * @return 返回时间戳
     */
    public static String getTime(String user_time) {
        String re_time = null;
        String str=null;
        SimpleDateFormat sdf = new SimpleDateFormat(DATEFORMAT);
        Date d;
        try {
            d = sdf.parse(user_time);
            long l = d.getTime();
            str = String.valueOf(l);
            re_time = str.substring(0, 10);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return re_time;
        //return str;
    }

    public static String timeStamp2Date(Date data,String format) {
        return timeStamp2Date(String.valueOf(data.getTime()).substring(0,10),format);
    }

    /*
   * 时间戳转换成日期格式字符串
   * @param seconds 精确到秒的字符串
   * @param formatStr
   * @return
           */
    public static String timeStamp2Date(String seconds,String format) {
        if(seconds == null || seconds.isEmpty() || seconds.equals("null")){
            return "";
        }
        if(format == null || format.isEmpty()) format = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(new Date(Long.valueOf(seconds+"000")));
    }

}
下面看一下我在项目中用到的日期选择类
/*
* 日期选择器
* */
    private void showDate() {
        Calendar selectedDate = Calendar.getInstance();
        Calendar startDate = Calendar.getInstance();
        startDate.set(2028, 1, 1);
        endDate = Calendar.getInstance();
        endDate.set(2098, 1, 1);
        TimePickerView pvTime = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String time = getTime(date);
         Log.e("time",time);
//时间转换为时间戳
 
 
 
 
 
 
    longTime = SetDataUtil.getTime(time);
    Log.e("longTime", longTime);

  tv_valid.setText(time) ; } }) .setType( new boolean[]{ true, true, true, false, false, false}) // 默认全部显示 .setCancelText( "取消") //取消按钮文字 .setSubmitText( "确定") //确认按钮文字 // .setContentSize(18)//滚轮文字大小 // .setTitleSize(20)//标题文字大小 // //.setTitleText("Title")//标题文字 // .setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示 // .isCyclic(true)//是否循环滚动 // //.setTitleColor(Color.BLACK)//标题文字颜色 // .setSubmitColor(Color.BLUE)//确定按钮文字颜色 // .setCancelColor(Color.BLUE)//取消按钮文字颜色 // //.setTitleBgColor(0xFF666666)//标题背景颜色 Night mode // .setBgColor(0xFF333333)//滚轮背景颜色 Night mode .setDate(selectedDate) // 如果不设置的话,默认是系统时间*/ .setRangDate(startDate , endDate) //起始终止年月日设定 .setLabel( "年" , "月" , "日" , "时" , "分" , "秒") //默认设置为年月日时分秒 .isCenterLabel( false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。 //.isDialog(true)//是否显示为对话框样式 .build() ; pvTime.show() ; }
private String getTime(Date date) {//可根据需要自行截取数据显示
    //"YYYY-MM-DD HH:MM:SS"        "yyyy-MM-dd"
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    return format.format(date);
}
E/longTime: 1833120000
这样就完成了时间戳的转换





猜你喜欢

转载自blog.csdn.net/qq_38875767/article/details/80154661