DateFormat类,利用SimpleDateFormat解决系统时间初始(格式化/解析)问题
目标:
java.text.DateFormat是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。格式化:按照指定的格式,把Date对象转换为String对象。
解析:按照指定的格式,把String对象转换为Date对象。
步骤:
DateFormat类的概述
DateFormat类中的构造方法
格式规则
DateFormat类中的常用方法
讲解:
3.1 构造方法
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat。这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:
public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。
3.2 格式规则
常用的格式规则为:
| 标识字母(区分大小写) | 含义 |
|---|---|
| y | 年 |
| M | 月 |
| d | 日 |
| H | 时 |
| m | 分 |
| s | 秒 |
完全模板:

格式模板:

备注:更详细的格式规则,可以参考SimpleDateFormat类的API文档。
3.3 常用方法
DateFormat类的常用方法有:
public String format(Date date):将Date对象格式化为字符串。
public Date parse(String source):将字符串解析为Date对象。
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
//格式化:从 Date 到 String
//创建时间初始对象
Date date = new Date();
//创建格式化对象SimpleDateFormat("时间格式")
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//格式化对象名.format(初始时间对象名)
String str = sdf.format(date);
System.out.println(str);
System.out.println("--------");
//从 String 到 Date
//这里要注意格式一致(new SimpleDateFormat(这里的格式))
String ss = "2048-08-09 11:11:11";
//ParseException
//注意:这里会报错,解决办法:快捷键:Alt+Enter (第一个就是报错需要内容)
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = sdf2.parse(ss);
System.out.println(dd);
}
}
小结:DateFormat可以将Date对象和字符串相互转换。
总结:
SimpleDateFormat的作用:
格式: "yyyy-MM-dd HH:mm:ss"
格式化 : 将Date, 格式化成 指定格式的 String字符串
解析: 将String字符串, 通过指定格式, 解析成Date对象
DateFormat类,利用SimpleDateFormat解决系统时间初始(格式化/解析)问题的更多相关文章
- DateFormat类和SimpleDateFormat类介绍
DateFormat类 java.test.DateFormat:是日期/时间格式化子类的抽象类 作用:格式化(也就是日期->文本).解析(文本->日期) 成员方法: String for ...
- C++获取当前系统时间并格式化输出
C++中与系统时间相关的函数定义在头文件中. 一.time(time_t * )函数 函数定义如下: time_t time (time_t* timer); 获取系统当前日历时间 UTC 1970- ...
- cocos2dx开发之util类&方法——取当前系统时间
返回time_t,即从1970年1月1日至今的秒数 time_t getSysTime(){ time_t currentTime = time(NULL); return currentTime; ...
- Delphi 获取系统时间后格式化输出
问题:客户现场程序运行提示时间格式不对导致的错误,原因是与开发环境及公司内部测试环境的日期格式不一致: 解决:统一强制转换: //引用单元:SysUtils //目的:实现跨环境兼容不同日期格式,如果 ...
- Oracle获取系统时间及格式化
Oracle 获取当前日期及日期格式 获取系统日期: SYSDATE() 格式化日期: TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS) ...
- c语言获取系统时间并格式化
// #include <time.h> int GetAndFormatSystemTime(char* timeBuff) { if (timeBuff == NULL) { retu ...
- 使用date类和format类对系统当前时间进行格式化显示
一:Date------------String 代码1:(代码二对显示出来的时间格式进行优化) package DateDemo; import java.text.SimpleDateFormat ...
- Java 获取当前系统时间方法比较
转载: http://blog.csdn.net/zzjjiandan/article/details/8372617 一. 获取当前系统时间和日期并格式化输出: import java.util.D ...
- Date类、SimpleDateFormat类
Date 构造方法: 1.无参数构造方法: Date date = new Date(); System.out.println(date);// Thu Mar 28 16:28:40 CST 20 ...
随机推荐
- 【C# 集合】HashTable .net core 中的Hashtable的实现原理
上一篇我介绍了Hash函数 这篇我来说一下Hash函数在 HashTable中的应用. HashTable的特性: 1.装载因子:.net core 0.72 ,java 0.75 2.冲突解决方案: ...
- 【C# 编码格式】 System.Text 命名空间 Encoding
Encoding基类 System.Text.ASCIIEncoding类 System.Text.UnicodeEncoding类 System.Text.UTF32Encodin ...
- java ssh远程服务器并执行多条shell命令
java ssh远程服务器并执行多条命令 import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...
- mapreduce 中 groupingComparator 用法
groupingComparator是对reduce输入的数据进行分组,比如 public int compare(WritableComparable a, WritableComparable b ...
- 通过对比语法差异,让会JAVA的你快速学会Kotlin的开源宝藏项目
今天有个小伙伴来问TJ君,说自己JAVA用的贼溜,想再学习下Kotlin,问TJ君上手难不难? 怎么说呢?其实TJ君一直觉得语言这方面,是触类旁通.一通百通的,既然JAVA已经贼溜了,想必学其他的语言 ...
- tensorflow_keras_预训练模型_Applications接口的使用
在很多复杂的计算机视觉问题上,我们需要使用层次相对较深的卷积神经网络才能得到好结果,但是自己从头去构建卷积神经网络是一个耗时耗力的事情,而且还不一定能训练好.大家通常用到最多的技巧是,使用" ...
- C#comboBox取消SelectedIndexChanged事件
问题: comboBox在加载数据源时会默认引发SelectedIndexChanged事件. 解决: 在comboBox加载数据源时添加如下代码 cmbGroupName.SelectedIndex ...
- ASP.NET Core 6框架揭秘实例演示[19]:数据加解密与哈希
数据保护(Data Protection)框架旨在解决数据在传输与持久化存储过程中的一致性(Integrity)和机密性(confidentiality)问题,前者用于检验接收到的数据是否经过篡改,后 ...
- 微信小程序下滑时能实现加载更多数据
wxml代码: <view class="scroll"> <!-- 绑订页面上拉触底事件的处理函数onReachBottom事件 --> <scro ...
- TypeError: put() missing 1 required positional argument: 'item'问题分析
今天博主在练习带参数线程池的时候与到了如下问题: 翻译过来,就是缺少位置参数. 一.错误1 如果此时你的代码高亮是这样: 解决办法:在init魔法方法下的Queue没有加括号,即 self.q = Q ...