计算某天是星期几数字或文本形式的JAVA工具方法

1. 代码

package com.xxx.util;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DateUtil {/*** @param date 日期* @return 星期几*/public static String getWeekday(Date date) {SimpleDateFormat outFormat = new SimpleDateFormat(WEEKDAY_FORMAT);return outFormat.format(date);}/*** @param date   日期* @param format 日期格式* @return 星期几*/public static String getWeekday(String date, String format) {SimpleDateFormat inFormat = new SimpleDateFormat(format);Date temp = null;try {temp = inFormat.parse(date);return getWeekday(temp);} catch (ParseException e) {e.printStackTrace();}return null;}public static void main(String[] args) {System.out.println(getWeekday(new Date()));System.out.println(getWeekday("2020-03-11", "yyyy-MM-dd"));System.out.println(getWeekday("2020/03/19", "yyyy/MM/dd"));}
}

结果

2. 创建其他格式

有些需求不输出数字格式,需要星期一,星期日这种文本格式,或者月份的天数要求.下面摘出JDK自带类SimpleDateFormat和输出格式相关代码和注释.

package java.text;/***     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>y</code>*         <td>Year*         <td><a href="#year">Year</a>*         <td><code>1996</code>; <code>96</code>*     <tr>*         <td><code>Y</code>*         <td>Week year*         <td><a href="#year">Year</a>*         <td><code>2009</code>; <code>09</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>M</code>*         <td>Month in year (context sensitive)*         <td><a href="#month">Month</a>*         <td><code>July</code>; <code>Jul</code>; <code>07</code>*     <tr>*         <td><code>L</code>*         <td>Month in year (standalone form)*         <td><a href="#month">Month</a>*         <td><code>July</code>; <code>Jul</code>; <code>07</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>w</code>*         <td>Week in year*         <td><a href="#number">Number</a>*         <td><code>27</code>*     <tr>*         <td><code>W</code>*         <td>Week in month*         <td><a href="#number">Number</a>*         <td><code>2</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>D</code>*         <td>Day in year*         <td><a href="#number">Number</a>*         <td><code>189</code>*     <tr>*         <td><code>d</code>*         <td>Day in month*         <td><a href="#number">Number</a>*         <td><code>10</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>F</code>*         <td>Day of week in month*         <td><a href="#number">Number</a>*         <td><code>2</code>*     <tr>*         <td><code>E</code>*         <td>Day name in week*         <td><a href="#text">Text</a>*         <td><code>Tuesday</code>; <code>Tue</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>u</code>*         <td>Day number of week (1 = Monday, ..., 7 = Sunday)*         <td><a href="#number">Number</a>*         <td><code>1</code>*     <tr>*         <td><code>a</code>*         <td>Am/pm marker*         <td><a href="#text">Text</a>*         <td><code>PM</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>H</code>*         <td>Hour in day (0-23)*         <td><a href="#number">Number</a>*         <td><code>0</code>*     <tr>*         <td><code>k</code>*         <td>Hour in day (1-24)*         <td><a href="#number">Number</a>*         <td><code>24</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>K</code>*         <td>Hour in am/pm (0-11)*         <td><a href="#number">Number</a>*         <td><code>0</code>*     <tr>*         <td><code>h</code>*         <td>Hour in am/pm (1-12)*         <td><a href="#number">Number</a>*         <td><code>12</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>m</code>*         <td>Minute in hour*         <td><a href="#number">Number</a>*         <td><code>30</code>*     <tr>*         <td><code>s</code>*         <td>Second in minute*         <td><a href="#number">Number</a>*         <td><code>55</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>S</code>*         <td>Millisecond*         <td><a href="#number">Number</a>*         <td><code>978</code>*     <tr>*         <td><code>z</code>*         <td>Time zone*         <td><a href="#timezone">General time zone</a>*         <td><code>Pacific Standard Time</code>; <code>PST</code>; <code>GMT-08:00</code>*     <tr style="background-color: rgb(238, 238, 255);">*         <td><code>Z</code>*         <td>Time zone*         <td><a href="#rfc822timezone">RFC 822 time zone</a>*         <td><code>-0800</code>*     <tr>*         <td><code>X</code>*         <td>Time zone*         <td><a href="#iso8601timezone">ISO 8601 time zone</a>*         <td><code>-08</code>; <code>-0800</code>;  <code>-08:00</code>* </table>*/public class SimpleDateFormat extends DateFormat {/*** The pattern string of this formatter.  This is always a non-localized* pattern.  May not be null.  See class documentation for details.* @serial*/private String pattern;public SimpleDateFormat(String pattern){this(pattern, Locale.getDefault(Locale.Category.FORMAT));}public SimpleDateFormat(String pattern, Locale locale){if (pattern == null || locale == null) {throw new NullPointerException();}initializeCalendar(locale);this.pattern = pattern;this.formatData = DateFormatSymbols.getInstanceRef(locale);this.locale = locale;initialize(locale);}
}

从SimpleDateFormat类的属性pattern的注释和类的注释可以知道,什么字母代表什么含义.例如D代表Day in year,天在年中是第几天,d代表Day in month,天在月中表示第几天.根据自己需要查找需要的格式.

计算某天是星期几数字或文本形式的JAVA工具方法相关推荐

  1. Excel常用技巧—数字和文本转换,三种方法任你选!!

    Excel图表系列: Excel数据分析常用函数①--查询函数 Excel数据分析常用函数②--统计函数 Excel数据分析常用函数③--字符串函数 Excel数据分析常用函数④--日期函数 Exce ...

  2. excel 科学计数法转换成文本完整显示_避免万次暴击,巧办法解决数字和文本之间的快速转化...

    很多朋友在在数据整理的过程中都遇到过下图这种情况,大量数字内容,因为数字内容较长,excel以科学计数法进行了显示,多数时候我们会选中列设置单元格格式为文本,但单元格内容并不会转化为文本,需要对每个单 ...

  3. 前端利用JS导出数据到Excel表 数字是文本类型 无法计算

    问题描述:前端利用JS导出数据到Excel表 数字是文本类型 无法进行公式计算:前端利用JS导出数据到Excel表 数字是文本类型 无法计算 解决办法:参考https://bbs.csdn.net/t ...

  4. Java黑皮书课后题第6章:**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几

    6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几 题目 题目描述 编程练习题3.21的Zel ...

  5. * 四、要求写一个方法:method。该方法要求传入一个数字n(n要小于10), * 该方法能够计算得到所有各位上的数字不超过n且每一位的数字都不重复的三位数的个数。

    package Day04;/*** 四.要求写一个方法:method.该方法要求传入一个数字n(n要小于10),* 该方法能够计算得到所有各位上的数字不超过n且每一位的数字都不重复的三位数的个数.* ...

  6. mysql dp.cal 显示汉子_计算1到N中各个数字出现的次数 --数位DP

    题意:给定一个数n,问从1到n中,0~9这10个数字分别出现了多少次.比如366这个数,3出现了1次,6出现了2次. 题解:<剑指offer>P174:<编程之美>P132 都 ...

  7. python输入一个正整数、计算其各个位的数字之和_C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和。...

    点击查看C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和.具体信息 答:#include /*包含头文件*/void main() /*主函数*/{ int n, ...

  8. 编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止;

    编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止: #! /bin/bash n=0 while [ $n -lt & ...

  9. 3.12 编写程序从键盘输入一个整数,计算并输出该数的数字之和。例如:请输入 一个整数:8899123 各位数字之和为:40

    package booksTest;import java.util.Scanner;public class p54_3_12 {public static void main(String[] a ...

  10. c语言万年历输入年月日星期几,菜鸟写的一个万年历(计算输入日期是星期几)...

    菜鸟写的一个万年历(计算输入日期是星期几) #include #include int statistic(int a) { int i,t=0; for(i=1;i if(i%4==0) { if( ...

最新文章

  1. python项目了解_神级程序员都是这样来开源 Python 项目!今天算是涨知识了!
  2. 使用交换机的dhcp snooping拒绝非法dhcp服务
  3. CFBundleVersion与CFBundleShortVersionString
  4. 天涯明民显示连接不上服务器,关于无法正常登录天涯的N种解决办法
  5. pycharm的安装
  6. VUE中父子组件传参(简单明了)
  7. day14(xml 编写及解析)
  8. quarts集群 运维_Quartz.Net分布式运用
  9. 【图像隐写】基于matlab GUI LSB图像隐写【含Matlab源码 713期】
  10. vue实现codemirror代码编辑器中的SQL代码格式化功能
  11. android studio如何重启,从Android Studio重新启动ADB(Restart ADB from Android Studio)
  12. ip雷达3.0_本周在我们的雷达上:轻松如1.0、2.0、3.0
  13. Arcgis应用(十二)栅格数据翻转(Flip)、镜像(Mirror)、重缩放(Rescale)、旋转(Rotate)、移位(Shift)、弯曲(Warp)
  14. 计算机链接投影仪后不显示桌面,win10系统连接投影后不显示桌面图标怎么办
  15. 电脑小知识:最常用的10个电脑技巧
  16. 无人机动力测试台:150kg级-Flight Stand 150
  17. 如何在文本中添加多条线
  18. MySQL的文本导入load data local
  19. 靶机渗透练习02-driftingblues2
  20. HTML 转义字符nbsp; ensp; emsp;thinsp;zwnj;zwj;空格标记

热门文章

  1. C#限制float有两位小数
  2. 怎么写出一个Activity
  3. 手机网站前端开发经验总结
  4. 游戏筑基开发之一级指针、二级指针的使用情形(C语言)
  5. Linux 重定向与连接符详解
  6. 计算原矩阵Jaccard相似度和签名矩阵的Jaccard相似度
  7. TCP为什么避免测量重传报文段SampleRTT;TCP为什么等到三个重复的ack后才快速重传
  8. OSI七层参考模型、TCP/IP参考模型、数据封装与解封装、TCP三次握手四次挥手及面试题
  9. 初次网页设计案例及思路
  10. 菠萝在线完成数千万元A轮融资,盛力投资领投