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创建线程 三种方式的对比 引言 在日常开发工作中,多线程开发可以说是必备技能 ...
随机推荐
- Invalid code signing entitlements. Your application bundle's signature contains
http://code4app.com/requirement/54128041933bf0e0308b5204 Invalid code signing entitlements. Your app ...
- Unity iOS打开AppStore评星页面,浅谈Application.OpenURL()方法。
http://fairwoodgame.com/blog/?p=38 Unity iOS打开AppStore评星页面,浅谈Application.OpenURL()方法. Posted in Uni ...
- js比较数字相等
示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF ...
- Vue 常用属性汇总
1.Vue实例常用属性 (1)数据 data:Vue 实例的数据对象 components:Vue实例配置局部注册组件 (2)类方法computed:计算属性 watch:侦听属性 filters:过 ...
- HDU4499 Cannon DFS 回溯的应用
题意就是给你一个n*m的棋盘,然后上面已经有了 棋子.并给出这些棋子的坐标,可是这些棋子是死的就是不能动,然后让你在棋盘上面摆炮.可是炮之间不能互相吃.吃的规则我们斗懂得 炮隔山打嘛.问你最多能放几个 ...
- (六)Oracle学习笔记—— 约束
1. 约束介绍 表虽然建立完成了,但是表中的数据是否合法并不能有所检查,而如果要想针对于表中的数据做一些过滤的话,则可以通过约束完成,约束的主要功能是保证表中的数据合法性. 按照约束的分类,一共有五种 ...
- C语言-十进制转换为二进制函数
char * itobs(int num, char * str) { int i; * sizeof(int); ; i >= ; i--, num >>= ) { str[i] ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(三)—— 简单登录页面+sqlite+动软代码生成器的使用
上一节讲到利用easyui的layout.tree.tab和datagrid创建用户管理的页面,注意利用到easyui的页面一定要按顺序添加jQuery和easyUI的.js和.css样式,灵活查看e ...
- mac系统中搭建apache+mysql+php的开发环境,安装mysql后,登录报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
php新手在mac系统中搭建apache+mysql+php的开发环境(按照这篇博客来操作的:http://my.oschina.net/joanfen/blog/171109?fromerr=xvC ...
- Intellij Idea 使用入门教程
1.安装Idea Download: http://www.jetbrains.com/idea/download/#section=windows (请下载UItimate) Lisense: ...