【特定日期格式转换】日期格式2024.1.1,1.2,1.3,1.4,1.5怎么转换为格式2024.1.1~1.5 星期一、星期二、星期三、星期四、星期五

本文主要是介绍【特定日期格式转换】日期格式2024.1.1,1.2,1.3,1.4,1.5怎么转换为格式2024.1.1~1.5 星期一、星期二、星期三、星期四、星期五,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题:

将日期格式2024.1.1,1.2,1.3,1.4,1.5怎么转换为格式2024.1.1~1.5 星期一、星期二、星期三、星期四、星期五

二、方案:

1、首先,将日期数字转换为星期几的名称。这可以通过使用Zeller公式直接查找日历来完成。对于2024年1月的日历,1月1日是星期二,因此我们可以推断出:

1月1日(2024.1.1)是星期二

1月2日(2024.1.2)是星期三

1月3日(2024.1.3)是星期四

1月4日(2024.1.4)是星期五

1月5日(2024.1.5)是星期六

2、接着,将日期范围表示为起始日期和结束日期,并用波浪号(~)连接。

3、最后,将转换后的星期几名称附加在日期范围后面

三、蔡勒公式

蔡勒公式(Zeller's congruence)是一个根据日期计算星期的算法,具体步骤如下:

  1. 确定年份:应考虑年份是否为闰年,以及日期是否在闰年中。
  2. 确定月份:对于1月和2月,应将其视为上一年的13月和14月来进行计算。
  3. 应用公式:蔡勒公式的基本形式是 

    h = (q + [(13(m+1))/5] + K + [K/4] + [J/4] + 5*J) mod 7

    其中:

  4. h:表示星期几(0=星期六,1=星期日,2=星期一,...,6=星期五)
  5. q:表示日期中的日
  6. m:表示月份(3=3月,4=4月,...,14=2月,15=1月)
  7. K:表示世纪内的年份(即年份的后两位数)
  8. J:表示世纪(即年份的前两位数)
  9. 计算结果:将得到的w值对7取余数,得到的结果即为星期几。

此外,如果计算的日期是在1582年10月4日或之前,需要使用修正的蔡勒公式,因为这是格里高利历法开始使用的日期。

总的来说,蔡勒公式是一种利用世纪、年份、月份和日期的信息,通过一系列的计算得出日期对应的星期数的方法。它基于公历的置闰规则来考虑,并且原点是公元元年12月31日。

蔡勒公式java示例代码

public class ZellerFormula {public static void main(String[] args) {int day = 1;int month = 1;int year = 2022;System.out.println("The day of the week is: " + getDayOfWeek(day, month, year));}public static String getDayOfWeek(int day, int month, int year) {if (month < 3) {month += 12;year -= 1;}int K = year % 100;int J = year / 100;int h = (day + 13 * (month + 1) / 5 + K + K / 4 + J / 4 + 5 * J) % 7;String[] daysOfWeek = {"Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};return daysOfWeek[h];}
}

四、Java实现

可以使用Java的SimpleDateFormat类和Calendar类来将日期字符串转换为星期几,然后拼接成所需的格式

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class Main {public static void main(String[] args) {String[] dateStrs = {"2024.1.1", "1.2", "1.3", "1.4", "1.5"}; // 输入的日期字符串数组SimpleDateFormat sdf = new SimpleDateFormat("yyyy.M.d");StringBuilder result = new StringBuilder();for (String dateStr : dateStrs) {try {Date date = sdf.parse(dateStr);Calendar calendar = Calendar.getInstance();calendar.setTime(date);int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};result.append(weekDays[dayOfWeek - 1]).append("、");} catch (Exception e) {e.printStackTrace();}}result.deleteCharAt(result.length() - 1); // 删除最后一个逗号System.out.println("输入的日期是:" + dateStrs[0] + "~" + dateStrs[dateStrs.length - 1] + ",对应的星期是:" + result.toString());}
}

这篇关于【特定日期格式转换】日期格式2024.1.1,1.2,1.3,1.4,1.5怎么转换为格式2024.1.1~1.5 星期一、星期二、星期三、星期四、星期五的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896136

相关文章

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

C#中DateTime的格式符的实现示例

《C#中DateTime的格式符的实现示例》本文介绍了C#中DateTime格式符的使用方法,分为预定义格式和自定义格式两类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录DateTime的格式符1.核心概念2.预定义格式(快捷方案,直接复用)3.自定义格式(灵活可控

使用C#实现将RTF转换为PDF

《使用C#实现将RTF转换为PDF》RTF(RichTextFormat)是一种通用的文档格式,允许用户在不同的文字处理软件中保存和交换格式化文本,下面我们就来看看如何使用C#实现将RTF转换为PDF... 目录Spire.Doc for .NET 简介安装 Spire.Doc代码示例处理异常总结RTF(R

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5

OFD格式文件及如何适应Python将PDF转换为OFD格式文件

《OFD格式文件及如何适应Python将PDF转换为OFD格式文件》OFD是中国自主研发的一种固定版式文档格式,主要用于电子公文、档案管理等领域,:本文主要介绍OFD格式文件及如何适应Python... 目录前言什么是OFD格式文档?使用python easyofd库将PDF转换为OFD第一步:安装 eas

基于Java实现PPT到PDF的高效转换详解

《基于Java实现PPT到PDF的高效转换详解》在日常开发中,经常会遇到将PPT文档批量或单文件转换为PDF的需求,本文将详细介绍其使用流程、核心代码与常见问题解决方案,希望对大家有所帮助... 目录一、环境配置Maven 配置Gradle 配置二、核心实现:3步完成PPT转PDF1. 单文件转换(基础版)

使用C#实现Excel与DataTable的相互转换

《使用C#实现Excel与DataTable的相互转换》在软件开发中,Excel文件和DataTable是两种广泛使用的数据存储形式,本文将介绍如何通过C#实现Excel文件与Data... 目录安装必要的库从 Excel 导出数据到 DataTable从 DataTable 导入数据到 Excel处理 E

利用Python将PDF文件转换为PNG图片的代码示例

《利用Python将PDF文件转换为PNG图片的代码示例》在日常工作和开发中,我们经常需要处理各种文档格式,PDF作为一种通用且跨平台的文档格式,被广泛应用于合同、报告、电子书等场景,然而,有时我们需... 目录引言为什么选择 python 进行 PDF 转 PNG?Spire.PDF for Python

mysql笛卡尔积怎么形成以及怎么避免笛卡尔积详解

《mysql笛卡尔积怎么形成以及怎么避免笛卡尔积详解》笛卡尔积是指两个集合中所有可能的有序对的集合,在数据库中它表示两个表的每一行都与另一个表的每一行组合,:本文主要介绍mysql笛卡尔积怎么形成... 目录第一部分:什么是笛卡尔积,它是如何形成的?1. 定义2. 在 mysql 中如何形成3. 笛卡尔积的

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4