1. package com.util;
  2. import java.text.DecimalFormat;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. /**
  7. * 功能更强大的格式化工具类
  8. */
  9. public class FormatUtils {
  10. private static SimpleDateFormat second = new SimpleDateFormat(
  11. "yy-MM-dd hh:mm:ss");
  12. private static SimpleDateFormat day = new SimpleDateFormat("yyyy-MM-dd");
  13. private static SimpleDateFormat detailDay = new SimpleDateFormat("yyyy年MM月dd日");
  14. private static SimpleDateFormat fileName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
  15. private static SimpleDateFormat tempTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  16. private static SimpleDateFormat excelDate = new SimpleDateFormat("yyyy/MM/dd");
  17. /**
  18. * 格式化excel中的时间
  19. * @param date
  20. * @return
  21. */
  22. public static String formatDateForExcelDate(Date date) {
  23. return excelDate.format(date);
  24. }
  25. /**
  26. * 将日期格式化作为文件名
  27. * @param date
  28. * @return
  29. */
  30. public static String formatDateForFileName(Date date) {
  31. return fileName.format(date);
  32. }
  33. /**
  34. * 格式化日期(精确到秒)
  35. *
  36. * @param date
  37. * @return
  38. */
  39. public static String formatDateSecond(Date date) {
  40. return second.format(date);
  41. }
  42. /**
  43. * 格式化日期(精确到秒)
  44. *
  45. * @param date
  46. * @return
  47. */
  48. public static String tempDateSecond(Date date) {
  49. return tempTime.format(date);
  50. }
  51. public static Date tempDateSecond(String str) {
  52. try {
  53. return tempTime.parse(str);
  54. } catch (ParseException e) {
  55. e.printStackTrace();
  56. }
  57. return new Date();
  58. }
  59. /**
  60. * 格式化日期(精确到天)
  61. *
  62. * @param date
  63. * @return
  64. */
  65. public static String formatDateDay(Date date) {
  66. return day.format(date);
  67. }
  68. /**
  69. * 格式化日期(精确到天)
  70. *
  71. * @param date
  72. * @return
  73. */
  74. public static String formatDateDetailDay(Date date) {
  75. return detailDay.format(date);
  76. }
  77. /**
  78. * 将double类型的数字保留两位小数(四舍五入)
  79. *
  80. * @param number
  81. * @return
  82. */
  83. public static String formatNumber(double number) {
  84. DecimalFormat df = new DecimalFormat();
  85. df.applyPattern("#0.00");
  86. return df.format(number);
  87. }
  88. /**
  89. * 将字符串转换成日期
  90. *
  91. * @param date
  92. * @return
  93. * @throws Exception
  94. */
  95. public static Date formateDate(String date) throws Exception {
  96. return day.parse(date);
  97. }
  98. /**
  99. * 将字符日期转换成Date
  100. * @param date
  101. * @return
  102. * @throws Exception
  103. */
  104. public static Date parseStringToDate(String date) throws Exception {
  105. return day.parse(date);
  106. }
  107. public static String formatDoubleNumber(double number) {
  108. DecimalFormat df = new DecimalFormat("#");
  109. return df.format(number);
  110. }
  111. }

功能更强大的格式化工具类 FormatUtils.java的更多相关文章

  1. 发一个比trace功能更强大debug工具,MonterDebugger

    经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...

  2. 让Docker功能更强大的10个开源工具

    让Docker功能更强大的10个开源工具 更好的管理.Web前端程序.更深入地了解容器应用程序,Docker生态系统正在迅速发展,这还得归功于其充满活力的开源社区. 软件项目的成功常常根据其催生的生态 ...

  3. pandas的筛选功能,跟excel的筛选功能类似,但是功能更强大。

    Select rows from a DataFrame based on values in a column -pandas 筛选 https://stackoverflow.com/questi ...

  4. 比 Navicat 还要好用、功能更强大的工具!

    DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议.可以通过官方网站或者 Github 进行下载. 由于 DBeaver 基于 Java 开发 ...

  5. 一个比 Nginx 功能更强大的 Web 服务器

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ Caddy 简介 Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx,Caddy 提供了更加强大的功能,随 ...

  6. Excel Interactive View - 让页面表格的功能更强大

    MS Office Excel Services提供了一个非常强大的功能,允许你只需要在页面上添加非常少量的JS references,就可以让你在页面上将表格的内容以Excel图表的方式呈现.这里是 ...

  7. 让ecshop编辑器功能更强大

    ecshop后台的商品编辑和文章编辑使用的是FCKEDITOR 编辑器, 这个FCKEDITOR的工具条(toolbar)是可以自定义的,ECSHOP默认使用的是 normal ,属于中档功能, 下面 ...

  8. C++ folly库解读(三)Synchronized —— 比std::lock_guard/std::unique_lock更易用、功能更强大的同步机制

    目录 传统同步方案的缺点 folly/Synchronized.h 简单使用 Synchronized的模板参数 withLock()/withRLock()/withWLock() -- 更易用的加 ...

  9. 更强大的trim功能,过滤汉字等

    第一种方法:通过php自带的函数 <?php /* trim 去除一个字符串两端空格, rtrim 是去除一个字符串右部空格, ltrim 是去除一个字符串左部空格. */ ?> < ...

随机推荐

  1. HDU 3038

    http://acm.hdu.edu.cn/showproblem.php?pid=3038 题意:[1-n]的区间,有m个询问,每个询问表示[a,b]的和是s,问一共有多少组矛盾 sum[i]表示i ...

  2. 使用.bat 文件,批量编译项目文件。

    使用.bat 文件,批量编译项目文件. 2008-6-1来源:www.aspcool.com 作者:PCJIM 点击:次   path %path%;D:\Program Files\Microsof ...

  3. Magento Soap Api接口出错无法使用

    在给客户测试Magento Soap接口的时候出现如下错误提示. This page contains the following errors:error on line 3 at column 6 ...

  4. window8快捷键

    win8中有很多比较重要的快捷键经常忘记: cmd快捷键:win+x; 截图工具:win+q; 添加环境变量:右键点击左下角window图标; 添加定时任务:右键点击计算机管理->任务计划程序.

  5. 【题解】【BT】【Leetcode】Binary Tree Preorder/Inorder/Postorder (Iterative Solution)

    [Inorder Traversal] Given a binary tree, return the inorder traversal of its nodes' values. For exam ...

  6. OGRE 2.1 Windows 编译

    版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...

  7. typeof、offsetof、container_of的解释

    链表是内核最经典的数据结构之一,说到链表就不得不提及内核最经典(没有之一)的宏container_of. container_of似乎就是为链表而生的,它的主要作用是根据一个结构体变量中的一个域成员变 ...

  8. 【转】ChainMapper 实例理解二

    package com.oncedq.code; import java.io.DataInput; import java.io.DataOutput; import java.io.IOExcep ...

  9. java访问webservce,保持会话,服务端保存session验证

    在进行程序开发的过程中,遇到一个问题,怎么保持会话. 因为一帮进行方法调用很少涉及到即时身份验证的. 例如: 1:客户端登录后服务端保存登录用户信息: 2:客户端持有验证通过key再次请求: 3:服务 ...

  10. ES6 — 字符串String

    ES6对字符串新增了一些函数和操作规范.下面我们来看ES6中对字符串新加的特性. 1.模版字符串 (即用反引号定义的字符串) 传统的字符串拼接通过我们使用'+'号与变量连接.例如: let name= ...