You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取指定月份最后一天的23:59:59:000000时间戳

获取指定月份最后一天23:59:59.000000时间戳的实现方法

下面提供几种主流编程语言的实现方案,直接对已获取到的当月最后一天0点时间戳调整即可满足需求:

Python实现

借助datetime和calendar模块,先定位当月最后一天的0点时间,再直接设置时分秒与微秒为目标值,最后格式化输出:

import datetime
import calendar

def get_month_last_day_end(year, month):
    # 获取当月最后一天的日期对象
    last_day_date = datetime.date(year, month, calendar.monthrange(year, month)[1])
    # 拼接出23:59:59.000000的datetime对象
    end_datetime = datetime.datetime.combine(last_day_date, datetime.time(23, 59, 59, 0))
    # 格式化为目标字符串格式
    return end_datetime.strftime("%Y-%m-%d %H:%M:%S:%f")

# 示例调用:获取2023年1月的目标时间戳
print(get_month_last_day_end(2023, 1))

Java实现

使用Java 8+的java.time类库,直接构造当月最后一天的23:59:59.000000时间并格式化:

import java.time.LocalDateTime;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;

public class LastDayEndGenerator {
    public static void main(String[] args) {
        int targetYear = 2023;
        int targetMonth = 1;
        // 构造当月最后一天的23:59:59.000000时间
        LocalDateTime endTime = YearMonth.of(targetYear, targetMonth)
                .atEndOfMonth()
                .atTime(23, 59, 59, 0);
        // 定义匹配目标格式的格式化器
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSSSSS");
        // 输出结果
        System.out.println(endTime.format(formatter));
    }
}

JavaScript实现

由于JavaScript的Date对象仅支持毫秒精度,需手动拼接微秒后缀:先获取下个月第一天的时间,减去1秒得到当月最后一天的23:59:59,再补充微秒部分:

function getLastDayEndTimestamp(year, month) {
    // 生成下个月第一天的0点时间(月份从0开始,所以直接传month)
    const nextMonthStart = new Date(year, month, 1);
    // 减去1秒,得到当月最后一天23:59:59的毫秒时间
    const endTimeMs = nextMonthStart.getTime() - 1000;
    const endDate = new Date(endTimeMs);
    // 补零格式化各时间部分
    const formatNum = num => String(num).padStart(2, '0');
    // 拼接完整字符串,手动添加微秒后缀000000
    return `${endDate.getFullYear()}-${formatNum(endDate.getMonth()+1)}-${formatNum(endDate.getDate())} ${formatNum(endDate.getHours())}:${formatNum(endDate.getMinutes())}:${formatNum(endDate.getSeconds())}:000000`;
}

// 示例调用:获取2023年1月的目标时间戳
console.log(getLastDayEndTimestamp(2023, 1));

内容的提问来源于stack exchange,提问作者Vasanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:45:33