【lua】获取某月最大天数

2023-11-29 14:30
文章标签 最大 获取 lua 天数 某月

本文主要是介绍【lua】获取某月最大天数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

方案一:先获取下个月1号时间戳,减去一天秒数,再获取day

-- 获取当前日期的年份和月份
local year = os.date("%Y")
local month = os.date("%m") + 1
if month > 12 thenmonth = 1year = year + 1
end
local timestamp  = os.time({year = year, month = month, day = 1}) - 86400
local date = os.date("!*t", timestamp)  
print("这个月的最大天数是:" .. date.day)

方案二:算闰年

  • 当涉及到月份的天数时,通常情况下,只有二月份的天数是不固定的,可能是28天或29天。其他月份的天数是固定的。
-- 获取当前日期的年份和月份
local year = os.date("%Y")
local month = os.date("%m")-- 计算这个月的最大天数
local daysInMonth = {31, -- 1月28, -- 2月31, -- 3月30, -- 4月31, -- 5月30, -- 6月31, -- 7月31, -- 8月30, -- 9月31, -- 10月30, -- 11月31  -- 12月
}-- 如果是闰年,更新二月份的天数
if year % 4 == 0 and (year % 100 ~= 0 or year % 400 == 0) thendaysInMonth[2] = 29
endlocal maxDays = daysInMonth[tonumber(month)]
print("这个月的最大天数是:" .. maxDays)

换一种写法

local function getMaxDayOfMonth(year, month)local maxDay = 31if month == 2 thenif year % 4 == 0 and (year % 100 ~= 0 or year % 400 == 0) thenmaxDay = 29elsemaxDay = 28endelseif month == 4 or month == 6 or month == 9 or month == 11 thenmaxDay = 30endreturn maxDay
endlocal year = 2023
local month = 11
local maxDay = getMaxDayOfMonth(year, month)
print(maxDay)

这篇关于【lua】获取某月最大天数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

redis+lua实现分布式限流的示例

《redis+lua实现分布式限流的示例》本文主要介绍了redis+lua实现分布式限流的示例,可以实现复杂的限流逻辑,如滑动窗口限流,并且避免了多步操作导致的并发问题,具有一定的参考价值,感兴趣的可... 目录为什么使用Redis+Lua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa