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互转相关推荐

  1. java date转filetime_Win32 FILETIME 结构与 java.util.Date 互转

    MSDN 上关于 FILETIME 结构的描述,可以很方便地在 FILETIME 与 Java 中 Date 进行互转.根据 MSDN 上的描述,FILETIME 采用 64 位数值表示与 UTC 时 ...

  2. localdate转date时区问题_时间戳和LocalDateTime和Date互转和格式化

    一 前言 二 时间戳与LocalDateTime互转 2.1 LocalDateTime 转 时间戳 方式一 这边值得一提的是在中国的时区偏移是8小时,本次示例转的时间戳是秒级别,得到的值是一个lon ...

  3. java calendar 转换_[java]转:String Date Calendar之间的转换

    1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...

  4. String Date Calendar之间的转换

    http://strongboy789.iteye.com/blog/1551959 1.Calendar 转化 String Calendar calendat = Calendar.getInst ...

  5. Java LocalDateTime 和 Date 互转

    Java LocalDateTime 和 Date 互转 1 LocalDateTime -> Date 2 Date -> LocalDateTime 3 str -> Local ...

  6. java 使用json-lib 对象,String,json互转

    所使用的包: commons-beanutils.jar commons-collections-3.1.jar commons-lang.jar commons-logging-1.1.3.jar ...

  7. java bean转string_Json、JavaBean、String等互转

    Json.JavaBean.String等互转 本文介绍简单的Json.JavaBean.String互换(下文JavaBean简称Object对象,这里不是很严谨) 转换关系如下: 其中String ...

  8. uint8array和string的互转(包括中文字符串)

    JS uint8Array转String uint8array和string的互转 通过javascript进行UTF-8编码

  9. 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 ...

最新文章

  1. 深度强化学习在智能城市领域应用介绍
  2. vba 日期加一年_VBA究竟值不值得审计学?
  3. android传输注册数据异常,android数据传值再获取的问题
  4. ORACLE EXPLAIN PLAN的总结 (优化SQL语句)
  5. entity framework扩展实战,小项目重构,不折腾
  6. centos5.5+NAT+Squid透明代理总结
  7. NetShopForge网上商店程序(VB)源码—讨论-发布
  8. 宁波大学计算机专硕分数线,2019宁波大学研究生分数线汇总(含2016-2019历年复试)...
  9. 简述人工智能的发展历程图_一图读懂人工智能发展史
  10. 最适合晚上睡不着看的 7 个网站,建议收藏哦
  11. OS学习笔记-11(清华大学慕课)进程与线程
  12. poi 删除 word文档中的图片
  13. word中行与行间距大
  14. Linux命令-samba服务器和防火墙
  15. 消费税简介、消费税税目 、消费税税率 、消费税计算、综合练习
  16. java有substr方法_java substring和substr
  17. python 黑魔法_Python “黑魔法” 之 Meta Classes
  18. 网络营销和网站推广有什么区别
  19. easyexcel 复杂表头、动态表头、复杂数据导出(非注解方式)
  20. textarea的宽度设置成与上级标签一样宽

热门文章

  1. UE4 射击游戏(游戏机制完善中)
  2. HTML+CSS网页设计期末课程大作——篮球网页设计(6页) 学校篮球网页制作模板 学生简单体育运动网站设计成品
  3. 这位新世界首富,到底有多强...
  4. java_web:jsp访问数据库
  5. 【前端圭臬】十三:AST ——代码重构利器
  6. J2ME的MVC2开源框架KBOX系列之二——参数传递与Action跳转
  7. 【TCP-IP详解卷一:协议】ch28 SMTP:简单邮件传送协议
  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十七 ║Vue基础:使用Vue.js 来画博客首页(一)...
  9. 洛谷 P1196 银河英雄传说
  10. 远程登陆mysql服务器命令_mysql 远程登录及常用命令