java显示当前时间中月份比系统时间小一个月????

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java显示当前时间中月份比系统时间小一个月????相关的知识,希望对你有一定的参考价值。

class TimeActionListener implements ActionListener

public void actionPerformed(ActionEvent e)
if(e.getSource()==timeButton||e.getSource()==menuEditTime)
Calendar c =Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
int hour = c.get(Calendar.HOUR);
int minute = c.get(Calendar.MINUTE);
int second = minute+1;
timeText.setText(year+"年"+month+"月"+date+"日 "+hour+":"+minute);


Calendar中月份下标是从0-11,所以小一个月。
另外,在设置年份的时候,要加上1900才正确。java API中都有详细的介绍。
参考技术A MONTH从0开始本回答被提问者采纳

SQL 当前月/年问题

【中文标题】SQL 当前月/年问题【英文标题】:SQL Current month/ year question 【发布时间】:2011-07-13 20:36:05 【问题描述】:

所以我有一个分解月份和年份的表格,例如名为 Month 的字段中有数字 7(本月),Year 字段有 2011。还有额外的月份年份等。我怎么能查询这个以显示当前的年份、月份?

【问题讨论】:

这是什么类型的数据库? @Abe Miessler:我将其标记为 SQL Server,因为 OP 之前的所有问题要么使用 SQL Server 语法,要么接受了这样的答案。并且 OP 声明以 cmets 为目标 2005+:***.com/questions/5478386/… 【参考方案1】:

在 SQL Server 中,您可以使用 YEARMONTHDAY 而不是 DATEPART(至少在 SQL Server 2005/2008 中,我不确定 SQL Server 2000 年及以上)

我更喜欢使用这些“短格式”,因为对我来说,YEAR(getdate())DATEPART(yyyy, getdate()) 打字更短,阅读效果更好。

所以你也可以像这样查询你的表:

select *
from your_table
where month_column = MONTH(getdate())
and year_column = YEAR(getdate())

【讨论】:

【参考方案2】:

这应该适用于 SQL Server:

SELECT * FROM myTable
WHERE month = DATEPART(m, GETDATE()) AND
year = DATEPART(yyyy, GETDATE())

【讨论】:

【参考方案3】:

这应该在 MySql 中工作

SELECT * FROM 'my_table' WHERE 'month' = MONTH(CURRENT_TIMESTAMP) AND 'year' = YEAR(CURRENT_TIMESTAMP);

【讨论】:

你应该提到这是用于哪个数据库 你的版本和我的一样吗?为什么我需要提到一个分贝? :s 这是否适用于 Oracle、DB2、MySQL、PostgreSQL、SQLite、Paradox、MS-SQL Server?有这些吗?所有这些?都不是?其中一些? 对不起,现在我明白了,你的意思是 SQL 实现是为了什么。应该适用于 MySql 5.1 :-)【参考方案4】:

怎么样:

Select *
from some_table st
where st.month = to_char(sysdate,'MM') and
    st.year = to_char(sysdate,'YYYY');

应该在 Oracle 中工作。你用的是什么数据库?我问是因为并非所有数据库都具有相同的日期函数。

【讨论】:

【参考方案5】:
DECLARE @CMonth int=null
DECLARE @lCYear int=null

SET @lCYear=(SELECT  DATEPART(YEAR,GETDATE()))
SET @CMonth=(SELECT  DATEPART(MONTH,GETDATE()))

【讨论】:

【参考方案6】:

选择 * 从你的表 其中 MONTH(mont_year) = MONTH(NOW()) 和 YEAR(mont_year) = YEAR(NOW());

注意:(month_year) 表示您的列包含日期格式。我认为这将解决您的问题。如果该查询不起作用,请告诉我。

【讨论】:

您对 3 多年前接受的答案没有添加任何内容,实际上您的答案并未解决 OP 中的架构。

以上是关于java显示当前时间中月份比系统时间小一个月????的主要内容,如果未能解决你的问题,请参考以下文章

JAVA: 如何显示比当前DATE时间,提前一个月的时间

JS如何利用当前时间来获取昨天的时间

JAVA使用GregorianCalendar类获取当前年月日,怎么运行出来少一个月呢??现在是五月,运行出来是四月

在 PHP 中显示当前月份和年份的最简单方法,例如“2016 年 8 月”?

微信小程序——获取当天的前一个月至后一个月

java script 日期对象Date()