SimpleDateFormat /String/Date互转
String 转 Date
String string= "2020-5-27 13:57:45";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
Date date = simpleDateFormat.parse(string);
Date 转 String
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
String string = simpleDateFormat.format(date)
时间戳 转 Date
Date date = new Date(longtime);
Date 转 时间戳
long longtime = date.getTime();
测试
@Testpublic void test() throws ParseException {SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z z");Date time = s.parse("2022-04-26 23:27:13 +0800 CST");Long l = time.getTime();System.out.println(l);System.out.println(s);}
日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 ‘A’ 到 ‘Z’ 和 ‘a’ 到 ‘z’ 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串
白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。
日期和时间模式(注意大小写,代表的含义是不同的)
yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)。
K:和hh差不多,表示一天12小时制(0-11)。
z:表示时区
(2017-12-28日,更新)
因为看到了Java 8 里面对日期的格式化操作的API,回头又看了看这个以前的日期格式化。发现,文中的实例不是很全面。不符合湿胸的性格,特地来完善一下。
private static void formatDataTest() {/** 日期转期望格式的字符串*///HH 和 hh 的差别:前者是24小时制,后者是12小时制。StringBuilder sb = new StringBuilder();sb.append("yyyy年MM月dd日 HH:mm:ss").append(" 上下午标志 a").append(" E").append(" 一年中的第D天").append(" 一月中的第F个星期").append(" 一年中的第w个星期").append(" 一月中的第W个星期").append(" Z").append(" z");SimpleDateFormat sdf = new SimpleDateFormat(sb.toString());String dateString = sdf.format(new Date());System.out.println(dateString);/** 字符串转日期*/Date date;try {date = sdf.parse(dateString);System.out.println(date);} catch (ParseException e) {System.out.println(e.getMessage());}}
运行结果:
2017年12月28日 18:21:731 上下午标志 下午 星期四 一年中的第362天 一月中的第4个星期 一年中的第52个星期 一月中的第5个星期 +0800 CST
Thu Dec 28 18:21:00 CST 2017
这里多说一句,一个月中的第几个星期, F 这个出来的结果,不靠谱,具体我就在这多做测试啦,我是测试过,才这么说的,还是后面的那个 W 靠谱。
(更新完成)
具体简单常见的实例:
package com.lxk.DateFormat;import java.text.SimpleDateFormat;
import java.util.Date;/*** Created by lxk on 2016/11/4*/
public class Format {public static void main(String[] args) {Date ss = new Date();System.out.println("一般日期输出:" + ss);System.out.println("时间戳:" + ss.getTime());//Date aw = Calendar.getInstance().getTime();//获得时间的另一种方式,测试效果一样SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间System.out.println("格式化结果0:" + time);SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");time = format1.format(ss.getTime());System.out.println("格式化结果1:" + time);}
}
测试结果图:
需要什么格式,自己拼好字符串,就可以格式化日期啦。授人以渔呀有木有。
喷子们要是觉得简单呢,就省省唾沫星子吧。我就记个笔记用。
上面的是:日期转自己想要的字符串格式,下面是字符串转日期类型。
private static void testStringToDate() {
String s = “2017-05-25”;
SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Date date = null;
try {
date = format.parse(s);
} catch (ParseException e) {
System.out.println(e.getMessage());
}
System.out.println(date);
}
下面是运行的debug截图。
上面的那个 日期和时间模式 是按我们常用的年月日时分秒来放的,下面传个别人的专业的图,供参考。
定义了以下模式字母(所有其他字符 ‘A’ 到 ‘Z’ 和 ‘a’ 到 ‘z’ 都被保留):
SimpleDateFormat /String/Date互转相关推荐
- java date转filetime_Win32 FILETIME 结构与 java.util.Date 互转
MSDN 上关于 FILETIME 结构的描述,可以很方便地在 FILETIME 与 Java 中 Date 进行互转.根据 MSDN 上的描述,FILETIME 采用 64 位数值表示与 UTC 时 ...
- localdate转date时区问题_时间戳和LocalDateTime和Date互转和格式化
一 前言 二 时间戳与LocalDateTime互转 2.1 LocalDateTime 转 时间戳 方式一 这边值得一提的是在中国的时区偏移是8小时,本次示例转的时间戳是秒级别,得到的值是一个lon ...
- java calendar 转换_[java]转:String Date Calendar之间的转换
1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...
- String Date Calendar之间的转换
http://strongboy789.iteye.com/blog/1551959 1.Calendar 转化 String Calendar calendat = Calendar.getInst ...
- Java LocalDateTime 和 Date 互转
Java LocalDateTime 和 Date 互转 1 LocalDateTime -> Date 2 Date -> LocalDateTime 3 str -> Local ...
- java 使用json-lib 对象,String,json互转
所使用的包: commons-beanutils.jar commons-collections-3.1.jar commons-lang.jar commons-logging-1.1.3.jar ...
- java bean转string_Json、JavaBean、String等互转
Json.JavaBean.String等互转 本文介绍简单的Json.JavaBean.String互换(下文JavaBean简称Object对象,这里不是很严谨) 转换关系如下: 其中String ...
- uint8array和string的互转(包括中文字符串)
JS uint8Array转String uint8array和string的互转 通过javascript进行UTF-8编码
- Expecting a string, date or number here, Expression x is instead a freemarker.template.TemplateBoole
今天在弄freemarker + springmvc +jdbc的时候,加了几个字段,其中有一个Boolean类型的数据,结果出现一下错误 Expecting a string, date or nu ...
最新文章
- 深度强化学习在智能城市领域应用介绍
- vba 日期加一年_VBA究竟值不值得审计学?
- android传输注册数据异常,android数据传值再获取的问题
- ORACLE EXPLAIN PLAN的总结 (优化SQL语句)
- entity framework扩展实战,小项目重构,不折腾
- centos5.5+NAT+Squid透明代理总结
- NetShopForge网上商店程序(VB)源码—讨论-发布
- 宁波大学计算机专硕分数线,2019宁波大学研究生分数线汇总(含2016-2019历年复试)...
- 简述人工智能的发展历程图_一图读懂人工智能发展史
- 最适合晚上睡不着看的 7 个网站,建议收藏哦
- OS学习笔记-11(清华大学慕课)进程与线程
- poi 删除 word文档中的图片
- word中行与行间距大
- Linux命令-samba服务器和防火墙
- 消费税简介、消费税税目 、消费税税率 、消费税计算、综合练习
- java有substr方法_java substring和substr
- python 黑魔法_Python “黑魔法” 之 Meta Classes
- 网络营销和网站推广有什么区别
- easyexcel 复杂表头、动态表头、复杂数据导出(非注解方式)
- textarea的宽度设置成与上级标签一样宽
热门文章
- UE4 射击游戏(游戏机制完善中)
- HTML+CSS网页设计期末课程大作——篮球网页设计(6页) 学校篮球网页制作模板 学生简单体育运动网站设计成品
- 这位新世界首富,到底有多强...
- java_web:jsp访问数据库
- 【前端圭臬】十三:AST ——代码重构利器
- J2ME的MVC2开源框架KBOX系列之二——参数传递与Action跳转
- 【TCP-IP详解卷一:协议】ch28 SMTP:简单邮件传送协议
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十七 ║Vue基础:使用Vue.js 来画博客首页(一)...
- 洛谷 P1196 银河英雄传说
- 远程登陆mysql服务器命令_mysql 远程登录及常用命令