Java格式化日期的三种方式
1)借助DateFormat类:
public String toString(Date d) {
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
return sdf.format(d);
}
2)使用String.format()方法。
String.format()的用法类似于C语言的printf,C语言转JAVA的同学一定会喜欢这个方式的。
public static String toString(Date d) {
String format = “%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS”;
return String.format(format, d);
}
下面对格式字符串说明
“%1$tY” %表示转义,它后面的“1$tY”是格式说明,运行时会被替换掉,不会作为普通的字符输出。由于一个参数
可能会被格式化好多次,“1$”表示格式化第一个参数,“tY”表示格式化时间中的年份字段, 那么”%1$tY”输出
的值为d的年份,比如2014,同理类推:”%1$tm”输出月。
具体的格式化说明请参看java.util.Formatter类的javadoc。
3)使用Calendar自己格式化
public static String toString(Date d) {
Calendar c = Calendar.getInstance();
c.setTime(d);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int dayInMonth = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int seconds = c.get(Calendar.SECOND);
String ret = String.valueOf(year);
ret += “-”;
ret += month < 10 ? “0″ + month : String.valueOf(month);
ret += “-”;
ret += dayInMonth < 10 ? “0″ + dayInMonth : String.valueOf(dayInMonth);
ret += ” “;
ret += hour < 10 ? “0″ + hour : String.valueOf(hour);
ret += “:”;
ret += minute < 10 ? “0″ + hour : String.valueOf(minute);
ret += “:”;
ret += seconds < 10 ? “0″ + hour : String.valueOf(seconds);
return ret;
}
代码很简单,不过有点重复造轮子的嫌疑。
Java格式化日期的三种方式的更多相关文章
- java 获取时间戳的三种方式
java 获取时间戳的三种方式 CreationTime--2018年7月13日16点29分 Author:Marydon 1.实现方式 方式一:推荐使用 System.currentTimeMi ...
- 如何实现有返回值的多线程 JAVA多线程实现的三种方式
可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口.执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable ...
- Java实现线程的三种方式和区别
Java实现线程的三种方式和区别 Java实现线程的三种方式: 继承Thread 实现Runnable接口 实现Callable接口 区别: 第一种方式继承Thread就不能继承其他类了,后面两种可以 ...
- Python格式化输出的三种方式
Python格式化输出的三种方式 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age ...
- 格式化输出的三种方式,运算符及流程控制之if判断
''' 格式化输出的三种方式,运算符及流程控制之if判断 ''' # 格式化输出的三种方式 # 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄 ...
- Python基础之格式化输出的三种方式
目录 1. 格式化输出的三种方式 1.1 占位符 1.2 format格式化 1.3 f-string格式化 1. 格式化输出的三种方式 在程序中,需要将输出信息打印成固定的格式,这时候就需要格式化输 ...
- [OpenSource]浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份额,不管谁对谁错,Java和.Net是目前应用开发的两个 ...
- 浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份 额,不管谁对谁错,Java和.Net是目前应用开发的两 ...
- Java并发编程:Java创建线程的三种方式
目录 引言 创建线程的三种方式 一.继承Thread类 二.实现Runnable接口 三.使用Callable和Future创建线程 三种方式的对比 引言 在日常开发工作中,多线程开发可以说是必备技能 ...
随机推荐
- 网络编程——The C10K Problem(C10K = connection 10 kilo 问题)。k 表示 kilo,即 1000
The C10K problem翻译 (C10K = connection 10 kilo 问题).k 表示 kilo,即 1000 比如:kilometer(千米), kilogram(千克). 如 ...
- NullPointerException异常的原因及java异常??
所谓空指针异常,是因为用空(null)去调用属性或方法. null表示没有这个对象,既然没有这个对象,那么去调用他的属性和方法,就会报异常. <--主要有以下几种原因: 1.使用了未 ...
- MATLAB 的字符串分析
MATLAB的字符串分析. 字符串实际上是指1Xn 的字符数组. MATLAB软件具有强大的字符串处理功能,提供了很多的字符或字符串处理函数,包括字符串的创建.字符串的属性.比较.查找以及字符串的转换 ...
- Tony zhao:到底怎么样才叫看书?
http://blog.jobbole.com/25842/ 目录: 一.引入 二.经历了就能理解 三.读书要分级 四.只读经典 五.别吝惜你动笔的那点时间 一.引入 看到这个题目的时候你可能会感到有 ...
- mongoDB _id:ObjectId("xxxx")详解
http://blog.haohtml.com/archives/10678 MongoDB ObjectId的优化
- Docker 基础概念科普 和 常用操作介绍
Docker 基础概念 Docker是什么? Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...
- css - 紧贴底部的页脚
有的时候,由于页面长度不够,页面底部的页脚会很尴尬的跑上来,如图: 有的同学可能会想用position:fixed;bottom:0;来永远居底.但有些场景确实不适合. 这是我从YII2中找到的简单解 ...
- NPM的天坑: 解决ERR! code UNABLE_TO_VERIFY_LEAF_SIGNATURE
各种下载失败,并不是镜像源的问题,哪怕切换淘宝源也无法下载.总之就像断网一般无法下载.无关网络. 解决方案: http://stackoverflow.com/questions/20747817/e ...
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege、loadrunner
回头看看 Web服务器性能/压力测试工具http_load.webbench.ab.Siege.loadrunner
- [ci]项目规划-后续
几个方面来写 1,搭建gitlab 配邮箱 域名等使之好用 2,搭建jenkins –yum,安装常见插件 3,搭建sonar,汉化 4,安装sonar-scanner 0,实现sonar ...