why do I get wrong month when parsing with java calendar(为什么我在用 java 日历解析时会得到错误的月份)
问题描述
Date fakeDate = sdf.parse("15/07/2013 11:00 AM");
Calendar calendar = Calendar.getInstance()
calendar.setTime(fakeDate);
int currentMonth = calendar.get(Calendar.MONTH);
我得到 currentMonth == 6 而不是 7.
I get currentMonth == 6 instead of 7.
这是为什么呢?
推荐答案
因为 Calendar.MONTH 是从零开始的.为什么?
Because Calendar.MONTH is ZERO based. Why?
查看文档:(总是)
get 和 set 的字段编号,表示月份.这是一个特定于日历的值.公历一年的第一个月儒略历是 JANUARY,即 0;最后取决于一年中的月数.
Field number for get and set indicating the month. This is a calendar-specific value. The first month of the year in the Gregorian and Julian calendars is JANUARY which is 0; the last depends on the number of months in a year.
这篇关于为什么我在用 java 日历解析时会得到错误的月份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么我在用 java 日历解析时会得到错误的月份
基础教程推荐
- 存储 20 位数字的数据类型 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
