寡年是否适合结婚?寡妇年结婚有什么禁忌吗?让程序来告诉你有多少人是寡妇年结婚的。

news2025/1/26 15:34:25

什么是寡年?

百度百科

原文:寡年-百度百科

指整年没有“立春”的日子就是“盲年”,俗称寡年。又名滑头年

社会上流传的“寡妇年”,是指整个农历年都没有立春的年份。以农历2005年的鸡年为例,立春在公历2月4日,春节要到公历2月9日,而2006年的春节则在立春之前,则2005年农历全年(即上一个春节——公历2005年2月9日到下一个春节——公历2006年1月28日之间)不存在立春日,2005年就被称为“寡妇年”。“寡妇年”只是农历与阳历的巧合,有无立春只是不同历法的时间差造成的。

有何禁忌?

"寡年不宜嫁娶"只是历史上迷信说法,没有科学道理,大家可以一笑置之。

这篇文章就来证明为什么寡年可以结婚?

立春是什么时候?

每年的阳历2月3~5号,通常是2月4号。
在这里插入图片描述

计算寡年

添加pom依赖

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.18</version> 
</dependency>

java实现

由于立春是阳历2月3~5号,为了计算方便,取2月4号作为立春,这会存在极小的误差,若要降低误差,可改代码。

import cn.hutool.core.date.ChineseDate;
import lombok.Data;
import org.apache.commons.collections.CollectionUtils;

import java.util.*;
import java.util.stream.Collectors;

/**
 * Description : 检查寡年
 * Version : 0.1
 * Date: 2023-12-15 09:49
 */
public class CheckGuaYear {

    public static void main(String[] args) {
        List<YearEntity> allYears = checkYearsLunar(1900, 2050);
        List<YearEntity> guaYears = filterGuaYears(allYears);
        guaYears.forEach(year -> System.out.println("寡年 " + year.getYear() + " 的农历日期是 " + year.getLunarYear() + " 年 "
                + year.getLunarMonth() + " " + year.getLunarDay() + " 日"));
    }

    /**
     * 计算农历年月日
     *
     * @param startYear 起始年份
     * @param endYear   终止年份
     * @return list
     */
    public static List<YearEntity> checkYearsLunar(int startYear, int endYear) {
        if (startYear < 0 || endYear < 0 || startYear > endYear) {
            return null;
        }
        List<YearEntity> yearList = new ArrayList<>();
        for (int i = startYear; i <= endYear; i++) {
            // 使用Hutool进行阳历到农历的转换,年、月(注意月份是从0开始计数)、日
            ChineseDate chineseDate = new ChineseDate(new Date(i - 1900, 1, 4));
            int lunarYear = chineseDate.getChineseYear();
            String lunarMonth = chineseDate.getChineseMonth();
            String lunarDay = chineseDate.getChineseDay();
            YearEntity guaYear = new YearEntity();
            guaYear.setYear(i);
            guaYear.setLunarYear(lunarYear);
            guaYear.setLunarMonth(lunarMonth);
            guaYear.setLunarDay(lunarDay);
            yearList.add(guaYear);
        }
        return yearList;
    }

    /**
     * 过滤寡年
     *
     * @param years 所有年份
     * @return 所有寡年
     */
    public static List<YearEntity> filterGuaYears(List<YearEntity> years) {
        if (CollectionUtils.isEmpty(years)) {
            return new ArrayList<>();
        }
        //汇总所有的有立春的农历年份
        Set<Integer> lunarYearSet = years.stream()
//                .filter(year->{
//                    Objects.requireNonNull(year, "year is null");
//                    String lunarMonth = Objects.requireNonNull(year.getLunarMonth(), "lunarMonth is null");
//                    String lunarDay = Objects.requireNonNull(year.getLunarDay(), "lunarDay is null");
//                    //如果需要精确计算,需要考虑十二月三十和正月初一,因为有些年份的立春是阳历2月3~5号
//                    return !Objects.equals("十二月", lunarMonth) || !Objects.equals("三十", lunarDay);
//                })
                .map(YearEntity::getLunarYear)
                .collect(Collectors.toSet());

        return years.stream()
                .filter(item -> {
                    int year = item.getYear();
                    //如果这一年里没有农历对应的立春,则为寡年
                    boolean isGuaYear = lunarYearSet.contains(year);
                    item.setGuaYear(isGuaYear);
                    return !isGuaYear;
                }).collect(Collectors.toList());
    }


}

/**
 * 年份实体类
 */
@Data
class YearEntity {
    /**
     * 阳历年份
     */
    private int year;
    /**
     * 农历年份
     */
    private int lunarYear;
    /**
     * 农历月份
     */
    private String lunarMonth;
    /**
     * 农历日
     */
    private String lunarDay;
    /**
     * 是否寡年:true-是
     */
    private boolean isGuaYear;
}

寡年年份

寡年 1902 的农历日期是 1901 年 十二月 廿七 日
寡年 1904 的农历日期是 1903 年 十二月 二十 日
寡年 1907 的农历日期是 1906 年 十二月 廿三 日
寡年 1910 的农历日期是 1909 年 十二月 廿六 日
寡年 1913 的农历日期是 1912 年 十二月 三十 日
寡年 1915 的农历日期是 1914 年 十二月 廿二 日
寡年 1918 的农历日期是 1917 年 十二月 廿四 日
寡年 1921 的农历日期是 1920 年 十二月 廿八 日
寡年 1923 的农历日期是 1922 年 十二月 二十 日
寡年 1926 的农历日期是 1925 年 十二月 廿三 日
寡年 1929 的农历日期是 1928 年 十二月 廿六 日
寡年 1932 的农历日期是 1931 年 十二月 廿九 日
寡年 1934 的农历日期是 1933 年 十二月 廿二 日
寡年 1937 的农历日期是 1936 年 十二月 廿四 日
寡年 1940 的农历日期是 1939 年 十二月 廿八 日
寡年 1942 的农历日期是 1941 年 十二月 二十 日
寡年 1945 的农历日期是 1944 年 十二月 廿三 日
寡年 1948 的农历日期是 1947 年 十二月 廿六 日
寡年 1951 的农历日期是 1950 年 十二月 廿九 日
寡年 1953 的农历日期是 1952 年 十二月 廿二 日
寡年 1956 的农历日期是 1955 年 十二月 廿四 日
寡年 1959 的农历日期是 1958 年 十二月 廿八 日
寡年 1961 的农历日期是 1960 年 十二月 二十 日
寡年 1964 的农历日期是 1963 年 十二月 廿二 日
寡年 1967 的农历日期是 1966 年 十二月 廿六 日
寡年 1970 的农历日期是 1969 年 十二月 廿八 日
寡年 1972 的农历日期是 1971 年 十二月 二十 日
寡年 1975 的农历日期是 1974 年 十二月 廿四 日
寡年 1978 的农历日期是 1977 年 十二月 廿七 日
寡年 1981 的农历日期是 1980 年 十二月 三十 日
寡年 1983 的农历日期是 1982 年 十二月 廿二 日
寡年 1986 的农历日期是 1985 年 十二月 廿六 日
寡年 1989 的农历日期是 1988 年 十二月 廿八 日
寡年 1991 的农历日期是 1990 年 十二月 二十 日
寡年 1994 的农历日期是 1993 年 十二月 廿四 日
寡年 1997 的农历日期是 1996 年 十二月 廿七 日
寡年 2000 的农历日期是 1999 年 十二月 廿九 日
寡年 2002 的农历日期是 2001 年 十二月 廿三 日
寡年 2005 的农历日期是 2004 年 十二月 廿六 日
寡年 2008 的农历日期是 2007 年 十二月 廿八 日
寡年 2010 的农历日期是 2009 年 十二月 廿一 日
寡年 2013 的农历日期是 2012 年 十二月 廿四 日
寡年 2016 的农历日期是 2015 年 十二月 廿六 日
寡年 2019 的农历日期是 2018 年 十二月 三十 日
寡年 2021 的农历日期是 2020 年 十二月 廿三 日
寡年 2024 的农历日期是 2023 年 十二月 廿五 日
寡年 2027 的农历日期是 2026 年 十二月 廿八 日
寡年 2029 的农历日期是 2028 年 十二月 廿一 日
寡年 2032 的农历日期是 2031 年 十二月 廿三 日
寡年 2035 的农历日期是 2034 年 十二月 廿七 日
寡年 2037 的农历日期是 2036 年 十二月 二十 日
寡年 2040 的农历日期是 2039 年 十二月 廿二 日
寡年 2043 的农历日期是 2042 年 十二月 廿五 日
寡年 2046 的农历日期是 2045 年 十二月 廿九 日
寡年 2048 的农历日期是 2047 年 十二月 廿一 日

可以看出,从1900年到2050年的寡年分别有:
[1902, 1904, 1907, 1910, 1913, 1915, 1918, 1921, 1923, 1926, 1929, 1932, 1934, 1937, 1940, 1942, 1945, 1948, 1951, 1953, 1956, 1959, 1961, 1964, 1967, 1970, 1972, 1975, 1978, 1981, 1983, 1986, 1989, 1991, 1994, 1997, 2000, 2002, 2005, 2008, 2010, 2013, 2016, 2019, 2021, 2024, 2027, 2029, 2032, 2035, 2037, 2040, 2043, 2046, 2048]

可以看出,100年内寡年还是比较多的,也就是身边近40%的人可能是寡年出生或者结婚的。

对比2024年的日历,发现计算结果正确:
在这里插入图片描述

哪些名人在寡年结婚/出生?

处于某些名字的避讳,这里就不列举某些人名了,其中包含一些大人物的名字,感兴趣可以自己去查。

再看看中国历年的结婚人数,可以发现历史上中国人什么时候结婚跟是否寡年并没有什么关系:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1383477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rust-内存安全

堆和栈 一个进程在执行的时候&#xff0c;它所占用的内存的虚拟地址空间一般被分割成好几个区域&#xff0c;我们称为“段”(Segment)。常见的几个段如下。 代码段。编译后的机器码存在的区域。一般这个段是只读的。bss段。存放未初始化的全局变量和静态变量的区域。数据段。…

java: 5-6 break

文章目录 1. break1.1 介绍1.2 语法和流程图1.3 入门练习1.4 细节说明1.5 练习 【老韩视频p137-】 1. break 看个需求&#xff1a;随机生成 1-100 的一个数&#xff0c;直到生成了 97 这个数&#xff0c;看看你一共用了几次? 【思路分析:循环&#xff0c;但是循环的次数不知道…

NLP论文阅读记录 - 2022 W0S | 基于Longformer和Transformer的提取摘要层次表示模型

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 A Hierarchical Representation Model Based on Longformer and …

【模型评估 04】A/B测试的陷阱

互联网公司中&#xff0c;A/B测试是验证新模块、新功能、新产品是否有效&#xff1b;新算法、新模型的效果是否有提升&#xff1b;新设计是否受到用户欢迎&#xff1b;新更改是否影响用户体验的主要测试方法。在机器学习领域中&#xff0c;A/B测试是验证模型最终效果的主要手段…

知乎x-zse-96算法分析

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 这里只是我分析过程,以及一些重要点的记录,没有…

yolov5的完整部署(适合新人和懒人,一键安装)

第一步&#xff1a;安装Anaconda 下载并安装后&#xff0c;配置一下镜像 在这里面&#xff0c;看情况输入镜像源&#xff0c;这里我建议大家搞阿里云镜像源。 # 添加清华源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda conf…

零知识证明的最新发展和应用

PrimiHub一款由密码学专家团队打造的开源隐私计算平台&#xff0c;专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 当企业收集大量客户数据去审查、改进产品和服务以及将数据资产货币化时&#xff0c;他们容易受到网络攻击威胁&#xff0c;造成数…

从Demo理解Thrift Thrift和Dubbo的区别

文章目录 安装demo尝试Thrift协议栈Thrift 与 Dubbo 的区别 字节里的RPC框架都是用的Thrift&#xff0c;我猜这主要原因有2: Thrift是Facebook开源的项目&#xff0c;平台中立Thrift支持跨语言调用&#xff0c;这非常适合字节Java、Go语言都存在的环境&#xff0c;语言中立 但…

手把手Docker部署Gitblit服务器

1拉取镜像 docker pull jacekkow/gitblit:v1.9.1 2.启动 docker run -d --name gitblit --restart always -p 10006:8080 -p 18443:8443 -p 19418:9418 -p 29418:29418 -v /data/gitblit/data:/opt/gitblit-data jacekkow/gitblit:v1.9.1 3.查看 默认账户/密码:admin/adm…

运算放大器相关知识总结(1)

1、 前言 最近做了一个小项目&#xff0c;这个项目是研发一款阻抗测量仪。这个阻抗测量仪可以测量人体在不同频率下的生物电阻抗&#xff0c;该设备的核心是模拟电路&#xff0c;技术难点是减小模拟电路噪声。该项目前前忙了2个多月&#xff0c;借着研发这个项目的机会把自己掌…

Jenkins-用户管理

用户管理 1 安装插件 2 选择安全策略为刚刚安装的插件 3 这个是安装插件以后会有的选项 4 增加一个角色 5 根据需要赋值角色的权限&#xff0c;并分配给用户

Protecting Intellectual Property of Deep NeuralNetworks with Watermarking

保护深度神经网络的知识产权与数字水印技术 ABSTRACT 深度学习是当今人工智能服务的关键组成部分&#xff0c;在视觉分析、语音识别、自然语言处理等多个任务方面表现出色&#xff0c;为人类提供了接近人类水平的能力。构建一个生产级别的深度学习模型是一项非常复杂的任务&a…

每日算法打卡:摘花生 day 14

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例&#xff1a;输出样例&#xff1a; 题目分析示例代码 原题链接 1015. 摘花生 题目难度&#xff1a;简单 题目来源&#xff1a;《信息学奥赛一本通》 题目描述 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来…

机器学习_捕捉函数的变化趋势(凸函数)

文章目录 连续性是求导的前提条件通过求导发现 y 如何随 x 而变凸函数有一个全局最低点 机器学习所关心的问题之一捕捉函数的变化趋势&#xff0c;也就是标签&#xff08;y&#xff09;是如何随着特征字段&#xff08;x&#xff09;而变化的&#xff0c;这个变化趋势是通过求导…

Arm Generic Interrupt Controller v3 and v4(GICv3v4)学习(一)

提示 该博客主要为个人学习&#xff0c;通过阅读官网手册整理而来&#xff08;个人觉得阅读官网的英文文档非常有助于理解各个IP特性&#xff09;。若有不对之处请参考参考文档&#xff0c;以官网参考文档为准。 Arm Generic Interrupt Controller v3 and v4学习一共分为三章&…

【ArcGIS微课1000例】0088:计算城市建筑物朝向(矩形角度)

文章目录 一、实验描述二、实验数据三、角度计算1. 添加字段2. 计算角度四、方向计算一、实验描述 矩形要素具有长轴和短轴,其长轴方向也称为矩形面的主角度,可用于确定面要素的走向趋势。根据该方向参数,可以对具有矩形特征的地理对象进行方向分析,且适用于很多应用场景,…

利用PicGo和SM.MS图床工具实现Markdown(Typora)图片脱离本地路径

利用PicGo和SM.MS图床工具实现Markdown&#xff08;Typora&#xff09;图片脱离本地路径 文章目录 利用PicGo和SM.MS图床工具实现Markdown&#xff08;Typora&#xff09;图片脱离本地路径1.**前言:**2.解决方案2.1准备工具2.2. 工具介绍2.2.1. Typora2.2.2. SM.MS图床2.2.3. P…

如何使用手机公网远程访问本地群辉Video Station中视频文件【内网穿透】

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 1.使用环境要求&#xff1a;2.下载群晖videostation&am…

AnnData:单细胞和空间组学分析的数据基石

AnnData&#xff1a;单细胞和空间组学分析的数据基石 今天我们来系统学习一下单细胞分析的标准数据类型——AnnData&#xff01; AnnData就是有注释的数据&#xff0c;全称是Annotated Data。 AnnData是为了矩阵类型数据设计的&#xff0c;也就是长得和表格一样的数据。比如…

SpringMVC零基础入门 - 概述、入门搭建、PostMan的使用(常见数据类型的传输)、REST风格编程

SpringMVC零基础入门 - 概述、入门搭建、PostMan的使用(常见数据类型的传输)、REST风格编程 SpringMVC是隶属于Spring框架的一部分&#xff0c;主要是用来进行Web开发&#xff0c;是对Servlet进行了封装SpringMVC是处于Web层的框架&#xff0c;所以其主要的作用就是用来接收前…