博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有关时间转换的一些方法
阅读量:4877 次
发布时间:2019-06-11

本文共 3543 字,大约阅读时间需要 11 分钟。

原创:转载请注明出处

1、获取当天结束日期

/**     * author:GaoFei     * date:2017-01-09     * what:根据string日期获得当天结束时间     *     * @param dateString     * @return stringDate     */    private String provideDayForEndTime(String dateString){        if(dateString == null){
return null;} SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); Date currDate = null; try { currDate = sdf.parse(dateString); } catch (ParseException e) { e.printStackTrace(); } Calendar start = Calendar.getInstance(); start.setTime(currDate); start.set(Calendar.HOUR, 0); start.set(Calendar.MINUTE, 0); start.set(Calendar.SECOND, 0); Calendar end = Calendar.getInstance(); end.setTime(start.getTime()); end.set(Calendar.HOUR,23); end.set(Calendar.MINUTE,59); end.set(Calendar.SECOND,59); return TimeUtil.setSolrDate(end.getTime().toLocaleString()); }

2、获得时间戳的前一天截止时间点

/**     * 获得时间戳的前一天时间     */    public static Timestamp getTimeStampBefore(Timestamp timeStamp) {        Date date;        date = new Date(timeStamp.getTime());        if(date == null) {            return null;        }        long dateLong = date.getTime() - 24 * 60 * 60 * 1000;        Date date2 = new Date(dateLong);        int hourAmPm;        if(date2.getHours()<12){            hourAmPm = 23;        }else{            hourAmPm = 11;        }        Calendar start = Calendar.getInstance();        start.setTime(date2);        start.set(Calendar.HOUR, hourAmPm);        start.set(Calendar.MINUTE, 59);        start.set(Calendar.SECOND, 59);        return new Timestamp(start.getTime().getTime());    }

3、获得solr时区错误转换时间

/**     * author:GaoFei     * date:2016-12-21     * what:将字符串时间格式进行转换:Tue Dec 20 04:14:33 CST 2016 转换成 2016-12-21     *     * @param dateStr     * @return     */    public static String getSolrDateString(String dateStr) {        if(dateStr == null){
return null;}// SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US); SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH); Date date = null; try { date = sdf.parse(dateStr); long dateLong = date.getTime() - 8*60*60*1000; date = new Date(dateLong); } catch (ParseException e) { e.printStackTrace(); }// String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dateStr); String formatStr2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); return formatStr2; }

4、将时间戳转换成solr时间

/**     * author:Gao
/**     * 将solr时间转为字符串时间     *     * @param date     * @return     */    public static String solrDateToNormalDate(String date) {        if (date == null) {            return date;        }        try {            date = date.replace("T"," ");            date = date.replace("Z","");        } catch (Exception e) {            e.printStackTrace();            return date;        }        return date;    }
 

 

Fei     * date:2016-12-26     * 将时间戳转为solr时间     * @param timestamp     * @return     */    public static String getSolrDate(Timestamp timestamp) {        if (timestamp == null) {            return null;        }        String[] dates = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(timestamp).split(" ");        if (dates.length < 2) {            return null;        }        return dates[0] + "T" + dates[1] + "Z";    }

转载于:https://www.cnblogs.com/gaoxufei/p/6480546.html

你可能感兴趣的文章
uva 11181 - Probability|Given
查看>>
【 D3.js 入门系列 --- 9.6 】 生产的包图
查看>>
request.getparameter和 request.getattribute的差别
查看>>
Bulk Insert命令具体
查看>>
Redhat Linux下的python版本号升级
查看>>
多功能检測按键-3 按键扫描 单按 长按 多个按键 响应方式
查看>>
mysql 用户管理 pymysql模块
查看>>
exit,_exit,wait,waitpid
查看>>
VUE2开发实战——搜索功能
查看>>
Codeforces997D Cycles in product 【FFT】【树形DP】
查看>>
基于Linux系统--web环境搭建
查看>>
gridview 根据条件更改链接的可用和颜色
查看>>
10.26会议记录
查看>>
SpringBoot用SpringAOP实现页面访问日志功能
查看>>
C# 中的"yield"使用
查看>>
(27)zabbix自定义图表Graph
查看>>
学生和老师思考问题角度的区别
查看>>
通过反射,给对象之间赋值
查看>>
Unity2.0学习笔记-Unity2.0基础-如何配置Unity2.0容器-设计时配置
查看>>
常用的电脑快捷键
查看>>