java中格式化日期为固定格式的字符串,无外乎有两种方法:DateFormat 和String.format(JDK1.5+)

但是哪个方法效率更高呢?本人做了一个实验,发现了一个很有趣的现象。

当系统第一次使用SimpleDateFormat进行格式化日期对象的时候,消耗资源是比较大的。而第一次使用之后,每次再使用该对象甚至是该类不同的对象的同一个方法时,又会极大的节省时间。而String.format虽然也是存在第一次使用时资源消耗较大,但是从第二次开始,资源消耗减少的量却不是很明显了。

总结:第一次使用两种方法时SimpleDateFormat方法效率很低,耗费时间大概是String.format的10倍左右。

从第二次开始,SimpleDateFormat效率提高1000倍左右,String.format提高10倍左右.消耗时间只占String.format的1/10.

简单计算:如果系统使用日期格式化超过100次,就应该使用SimpleDateFormat,否则就应该使用String.format

PS:无论第二次使用SimpleDateFormat时是不是new了一个新的format对象,效率变化并不明显。

附源代码:

public static void main(String[] args) {

int count = 1;

long start = System.nanoTime();

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

for(int i=0;i

sf.format(new Date());

}

System.out.println("ecllapsed:"+(System.nanoTime()-start));

start = System.nanoTime();

for(int i=0;i

String.format("%1$tF %1$tT", new Date());

}

System.out.println("ecllapsed:"+(System.nanoTime()-start));

start = System.nanoTime();

count = 1;

for(int i=0;i

sf.format(new Date());

}

System.out.println("ecllapsed:"+(System.nanoTime()-start));

start = System.nanoTime();

for(int i=0;i

String.format("%1$tF %1$tT", new Date());

}

System.out.println("ecllapsed:"+(System.nanoTime()-start));

}

java 验证时间格式 效率_有关Java中日期格式化的效率实录相关推荐

  1. Java验证时间格式是否正确

    Java验证时间格式是否正确 /*** @author * @Description 时间格式校验* @Version 1.0* @since */ public class IsLegalDate ...

  2. mysql varchar 效率_由MySQL中char和varchar效率想到的

    对比char和varchar随便在google或百度中搜一下得到的结论大概都是"char定长,varchar不定长,char要比varchar占用更多的空间,由于定长char的效率高于var ...

  3. java定义时间格式大全_Java时间格式转换大全

    package com.date; import java.text.DateFormat; import java.text.ParseException; import java.text.Par ...

  4. Java 校验时间格式是否为 yyyy-MM-dd HH:mm:ss

    微信公众号:[一起学习大数据呀] 关注可学习更多奇怪的知识! 前言 产品让我添加一个导入Excel 表格并对时间格式校验:"yyyy-MM-dd HH:mm:ss".网上的博客又参 ...

  5. java 多态判断非空_收藏Java 面试题全梳理

    脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...

  6. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  7. Java 中验证时间格式的 4 种方法

    大家好,今天咱们来讲一下,Java 中如何检查一个字符串是否是合法的日期格式? 为什么要检查时间格式? 后端接口在接收数据的时候,都需要进行检查.检查全部通过后,才能够执行业务逻辑.对于时间格式,我们 ...

  8. Java验证邮箱格式

    Java使用正则表达式验证邮箱格式是否正确 public class aaa {public static void main(String[] args) {checkEmail("123 ...

  9. java验证xml格式是否正确的是_spring源码附录(1)java实现对XML格式的验证

    最近在看spring源码,涉及到xml文档的解析.xml文档的格式验证,发现自己对xml解析的基础较为薄弱,本篇博客复习下DOM方式解析xml(即spring解析xml的方式). DOM解析XML是将 ...

最新文章

  1. php采集分析,PHP采集程序原理分析篇
  2. C++类对象在内存中的布局
  3. python方差选择样本_两个样本方差比的分布(来自Python的实验)
  4. C++ C++基础语法入门总结(二)引用-内联函数-C++11新特性
  5. 如何使用手机端、ipad端来编写博客
  6. 【OpenCV】图像变换(五)-仿射变换和透视变换
  7. 基于hadoop的气象数据可视化分析
  8. 联想m7400 linux驱动下载,联想M7400W驱动-联想M7400W打印机驱动下载 v1.6.0.0官方版--pc6下载站...
  9. matlab代码 无标度网络 生成图,标准无标度网络matlab
  10. 学习笔记(03):Qt视频教程-基础实例进阶-多线程下载和断点续传
  11. AndroidStudio插件集合
  12. vue-echart简单使用
  13. 自然常数e的由来(简单通俗易于理解自然常数e)
  14. java时区_Java时区的转换
  15. 文案自动修改软件-文案自动改写的免费软件下载
  16. 【个人小程序和企业小程序的区别】
  17. R中报错:Error :$ operator is invalid for atomic vectors
  18. 智慧厕所厕位引导系统怎么建?中期科技zontree智慧公厕一探究竟
  19. CSS基础(6)- 属性值的计算过程
  20. 动手实验 CVE-2010-2883 Adobe Reader TTF字体SING表栈溢出漏洞

热门文章

  1. Hive 处理 json 的几个函数
  2. Hadoop 基础系列一Hadoop 系列之 1.0 和2.0 架构
  3. 用sqoop将mysql的数据导入到hive表中,原理分析
  4. 【CCF】201609-2火车购票
  5. 有功功率 无功功率 功率因数
  6. 神经网络-损失函数是不是凸的
  7. linux7配置静态地址,Centos7 配置静态 IP 地址的方法
  8. 计算机网络——访问网站数据传输过程
  9. 深度学习笔记--单层感知机原理及代码实现
  10. 数字图像处理--灰度图转伪彩色图