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. 结营答辩!28天!Datawhale助力公益AI一起学,点亮最暖寒假!
  2. 在LINUX中部署NIS服务器
  3. 简单的Java秒表计时器(线程),Java计时器使功能每分钟运行
  4. C++ 反射机制的简单实现
  5. 七台河计算机网络工程专业,网络工程本科专业介绍
  6. 受网友U2U之托,DevComponents出品的TreeGX最新版本Patch出炉
  7. CUDA C程序中的函数类型
  8. landmark is float
  9. bat文件获取当前时间并格式化输出
  10. 程序员分析了 50 万条拼多多商品数据,告诉你到底是消费升级还是降级!
  11. git log格式化日志
  12. ES6: 参数默认值及中间域
  13. 中标麒麟怎么安装deb包_请教,如何制作中标麒麟系统可用的安装包?
  14. Java中字符(串)和数值类型的转换
  15. 客户端软件的结构思考(一)
  16. Java代理(proxy)
  17. 【好文推荐】java写安卓脚本
  18. linux shell运用16进制计算
  19. Fast Deep Matting for Portrait Animation on Mobile Phone
  20. 一种基于区块链的数字身份认证方案

热门文章

  1. 头晕头痛是植物神经紊乱了吗?
  2. java的匿名函数_JAVA语言中的匿名函数详解
  3. js字符串转对象 js对象转字符串 js字符串与对象互转
  4. 1075: 动态规划入门(中链式2:能量项链)
  5. Adobe acrobat pro DC2018解决方案(亲测有效)
  6. photoshop中英文字体 还有几个素材 20000款
  7. 使用ZXing实现二维码扫描
  8. CocosCreator 屏幕截图最终转为SpriteFrame
  9. jaff decyptor system新型勒索病毒
  10. vivo广告推广平台效果做得怎么样?vivo广告投放的优势