Java中的日期转换(String转Date、Date转String以及日期格式转换)_string datestring()_大唐冠军侯的博客-程序员秘密

技术标签: Java  java  

1. String转Date

//将String转换为Date
String dateString = "2020-02-12 20:55:09";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
    
	date = df.parse(dateString);
} catch (ParseException e) {
    
	e.printStackTrace();
}

注意: String和DateFormat样式需一样,不然无法解析

2. Date转String

//将Date转换为String
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);

3. 常见应用场景

在项目中,我们常常需要从数据库中查询出日期,然后转换为一定格式的日期进行数据处理,比如:我们需要统计指标的完成率,一类指标不止一条,但是只要上报一条就算这类指标已上报,我们需要把日期和指标的类别拼接起来进行去重。

	/**
     * 指标监控:查询分公司30天内上报的指标数量
     *
     * @return 各分公司30天内上报的指标数量的list集合
     */
    @Override
    public List<Integer> queryKpiTrendMonth() {
    
    	//从数据库查询分公司的id
        List<Integer> bcList = monitorStatisticsMapper.queryBcId();
        //从数据库查询30天内的指标
        List<KpiEntity> kpiEntityList = monitorStatisticsMapper.queryKpiTrendMonth();
        //创建一个数组存放各分公司30天内总的指标数量
        ArrayList<Integer> kpiCount = new ArrayList<>();
        for (int i = 0; i < bcList.size(); i++) {
    
            String bcId = bcList.get(i).toString();
            int count = 0;
            //利用set元素不可重复的特性去重,统计指标数量
            HashSet<String> set = new HashSet<>();
            for (int j = 0; j < kpiEntityList.size(); j++) {
    
                if (kpiEntityList.get(j).getBcId().equals(bcId)) {
    
                	//日期转换,String(包含时分秒的时间)→Date→String(不包含时分秒的时间)
                    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    Date date = null;
                    try {
    
                        date = df.parse(kpiEntityList.get(j).getKpiTime());
                    } catch (ParseException e) {
    
                        e.printStackTrace();
                    }
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    String dateString = sdf.format(date);
                    String s = dateString + kpiEntityList.get(j).getKpiId();
                    set.add(s);
                    count = set.size();
                }
            }
            kpiCount.add(count);
        }
        return kpiCount;
    }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/DATANGguanjunhou/article/details/104286542

智能推荐

java中子类和父类有相同的成员变量 ,何种取值问题._小么嘛小二郎的博客-程序员秘密

java中子类和父类有相同的成员变量 ,何种取值问题对于java中的父类和子类含有相同的成员变量,数值如何判断:这里粗略的说一下:子类,父类含有相同的成员变量,数值看引用型变量所属的类,即左边父类独有方法改变成员变量值,则改变的是父类中的数据子类重载父类方法,调用的是子类的方法,改变的是子类数据如果在多态,即Parent c = new Child(),子类重载父类方法,则c.方法...

cocos2d-x 安装(重装)_cocos2d 重装_yang3wei的博客-程序员秘密

1.cd 切换到源码包所在的目录:cd /Users/user/Documents/Materials/cpp_libs/cocos2d-x-2.1.42.执行脚本安装文件sudo bash install-templates-xcode.sh -f安装失败?更改相关目录的权限!sudo chmod -R 777 /Users/user/Library/

为什么阿里巴巴禁止使用BigDecimal的equals方法做等值比较?_漫话编程的博客-程序员秘密

作者 l Hollis来源 l Hollis(ID:hollischuang)BigDecimal,相信对于很多人来说都不陌生,很多人都知道他的用法,这是一种java.math包中提供的...

Scrapy settings相关配置_scrapy中settings的配置_kylinxjd的博客-程序员秘密

在settings里可以自定义配置scrapy组件#项目名称,BOT_NAME = 'downloadware'# 爬虫存储的文件路径SPIDER_MODULES = ['downloadware.spiders']# 创建爬虫文件的模板,创建好的爬虫文件会存放在这个目录下NEWSPIDER_MODULE = 'downloadware.spiders'以上三项在创建Scrap...

Storm VS Flink ——性能对比_大数据流动的博客-程序员秘密

1.背景Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有较为成熟的运用(可参考 Storm 的 可靠性保证测试),有管理平台、常用 API 和相应的文档,大量实时作业基于 Storm 构建。而 Apache Flink(以下简称“Flink”)在近期倍受关注,...

团队vue基础镜像选择思考_李福春的博客-程序员秘密

前端镜像可以考虑使用nginx或者openresty;镜像大小说明nginx:1.20.2-alpine8.41 MB最小最新版本nginx:1.21.450.95 MB最新版本nginx:stable 1.20.252.27 MB稳定版本openresty/openresty:1.19.9.1-4-alpine33.14 MB最小最新版本openresty/openresty:1.19.9.1-4-alpine-fat109.68 MB最

随便推点

【题解】【PTA-Python题库】第3章-16 删除重复字符 (20 分)_Tuenity的博客-程序员秘密

删除重复字符本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz思路:去掉重复字符,然后用lambda函数以ASCII码进行排序。代码如下:s=list(...

BZOJ 1637: [Usaco2007 Mar]Balanced Lineup【hash】_aiweiluan5095的博客-程序员秘密

1637: [Usaco2007 Mar]Balanced Lineup【题目描述】 传送门【题解】 我们可以用前缀和的想法,如果是0那么Sum[i]=Sum[i−1]−1Sum[i]=Sum[i−1]−1,否则Sum[i]=Sum[i−1]+1Sum[i]=Sum[i−1]+1,如果Sum[i]==Sum[j](i&lt;j)Sum[...

go mod_y果子的博客-程序员秘密

首先在个人包命名空间目录新建一个文件夹,然后直接使用 go mod init 即可。mkdir $GOPATH/github.com/islishude/gomodtestcd $GOPATH/github.com/islishude/gomodtestgo mod init更新:现在不允许在 GOPATH 下使用 go mod,需要更改成以下命令:mkdir -p ~/gopher/gomodtestcd ~/gopher/gomodtestgo mod init github.com/i

进行渗透测试的详细检测方法_webshere怎么测_websinesafe的博客-程序员秘密

越来越多的网站以及app手机端客户注重安全渗透测试服务,上线前必须要对平台进行全面的预渗透测试找出安全漏洞以及BUG,很多客户找我们SINE安全,做渗透测试服务的时候对具体的流程可能不太了解,下面我们把具体的渗透测试方法流程大体写的全面一点给大家呈现。渗透测试一、渗透流程信息收集 漏洞验证/漏洞攻击 提权,权限维持 日志清理信息收集一般先运行端口扫描和漏洞扫描获取可以利用的...

a componentnamed TableViewFrom_5 already exists_诺之诺的博客-程序员秘密

数据库提示 a componentnamed TableViewFrom_5 already exists 异常的时候,会导致相关联的表的数据库无法被读取出来,解决办法,重启下数据库即可。

JavaEE成长之路_Java3y的博客-程序员秘密

前言学习Java已经有一段时间了,在学习的过程中也走过了不少弯路。写下这篇博文,主要是想记录下自己学习编程之路,以及反思自己在学习的时候出现的问题,下面也会给出我自认为学习JavaEE的路线,想要学习JavaEE的同学可适当地参考一下。反思在刚上大一的时候,什么编程语言都不懂,也不知道怎么学习编程。当时想要加入学校的计算机协会,当时的师兄师姐告诉我们想要加入协会...

推荐文章

热门文章

相关标签