java日期格式化之特殊字符

如何能够将日期2015-01-29格式化为15W05(表示15年第5周)呢?

大家好,又见面了,我是你们的朋友全栈君。

在java中对日期进行格式化是比较简单的,通常的代码如下:

<span style="white-space:pre">	</span>String pattern = "yyyy年MM月DD日";
        SimpleDateFormat sdf = new SimpleDateFormat(pattern );
        System.out.println(sdf.format(new Date()));

这样就能够简单地将日期进行格式化,其上结果是:2015年01月29日

但最近工作中却遇到这样一个需求,要求格式化后显示的样式为:年W周,即还以上面的日期为例,需要显示的格式为:15W05。

如是用正常的方法是没有办法格式化出来的,因为W在格式化规则中表示的是周的。当时使用的是两个格式化之后拼接起来的。

<span style="white-space:pre">	</span>String pattern1 = "yy";
        SimpleDateFormat sdf1 = new SimpleDateFormat(pattern1 );
        String pattern2 = "ww";
        SimpleDateFormat sdf2 = new SimpleDateFormat(pattern2 );
        System.out.println(sdf1.format(new Date())+"W"+sdf2.format(new Date()));

今天突然发现其实有简单的方式就能够实现的,只需将W使用单引号引起来就可以了。如下代码

String pattern3 = "yy'W'ww";
        SimpleDateFormat sdf3 = new SimpleDateFormat(pattern3);
        System.out.println(sdf3.format(new Date()));

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126292.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 崔立强:Dev无感Ops,如何做到高效软件交付[通俗易懂]

    崔立强:Dev无感Ops,如何做到高效软件交付

    2022年4月3日
    64
  • JS动画卡顿分析_学会java就能自己设计软件吗

    JS动画卡顿分析_学会java就能自己设计软件吗文章目录动画卡顿分析及解决方法一、卡顿原因分析二、优化的一些方法动画卡顿分析及解决方法一、卡顿原因分析我们所使用的设备大多数的刷新频率都是60HZ,也就是每秒钟会有60个画面来组成一个完整的动画来进行展示。这就要求我们的浏览器对每一帧动画的渲染都在16ms内完成(1秒等于1000ms),一旦渲染时间超过了这个时间段,用户在观看时就会感觉到卡顿。通常,一般人可以分辨的频率也在60HZ左右,所以经常会有人提起打游戏时卡顿,也就是游戏掉帧。二、优化的一些方法1.JavaScript的相关优化:优化Jav

    2022年10月11日
    7
  • python deepcopy函数_Python deepcopy

    python deepcopy函数_Python deepcopy我想为给定的SQLAlchemy映射类重写__deepcopy__,以便它忽略任何SQLA属性,但深入复制其他所有类的类.我并不是特别熟悉覆盖任何Python的内置对象,但我对我想要的东西有所了解.让我们创建一个使用SQLA映射的非常简单的类User.classUser(object):def__init__(self,user_id=None,name=None):self.user_i…

    2022年9月27日
    3
  • 虚拟存储技术和交换技术的区别是什么_虚拟存储器技术

    虚拟存储技术和交换技术的区别是什么_虚拟存储器技术虚拟存储技术和交换技术很像,乍一看都是换入换出,把暂时不需要用的数据换出内存,将需要用到的数据换入内存,从而实现逻辑上内存的扩充。二者之间的区别是,虚拟存储技术是在一个作业运行的过程中,将作业的数据进行换入换出。王道老师举得例子就是玩儿游戏。这儿换一个游戏,比如玩儿DOTA,停留在场景A的时候,场景B的数据不需要用到,所以不放在内存,转换到场景B的时候再把场景B的数据放入内存。而交换技术是内存紧张时,换出某些进程,腾出内存空间,换入其他进程。换而言之,交换技术是在不同的进程(作业)间的,虚拟存储技术是在一个

    2022年9月26日
    2
  • 如何在Java中将String转换为int

    如何在Java中将String转换为int在本教程中 我们将看到将 Java 中的 String 转换为 int 或 Integer 的各种方法 您可以使用以下任何一种方式 使用 Integer parseInt string 使用 Integer valueof string 使用 ApacheCommon toInt string 使用 ApacheCommon

    2025年8月2日
    3
  • 导航守卫beforeEach的运用

    导航守卫beforeEach的运用beforeEach用于在路由跳转前要执行的方法。我在项目中用于全局main.js中,判断是否登录,如果登录就继续跳转,没有登录就去跳转页面constrouter=newVueRouter({…})router.beforeEach((to,from,next)=&gt;{if(to.matched.some(record=&gt;record.meta.req…

    2022年6月29日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号