- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一种方法来计算给定格式(“yyyy-MM-dd”)的制造日期以及产品可以在 int 中使用之前的月份的到期日期。首先,我尝试使用 getYear getMonth getDate of Month 类,如下所示我没有得到错误结果:
public void calculateExpiryDate(List<Item> items)
{
Iterator<Item> itr=items.iterator();
while(itr.hasNext())
{
Item i=itr.next();
Date md=i.getManufacturingDate();
int ubm=i.getUseBeforeMonths();
Calendar c=new GregorianCalendar(md.getYear(),md.getMonth(),md.getDate());
//System.out.println(c);
c.add(Calendar.MONTH, ubm);
Date exp=c.getTime();
i.setExpiryDate(exp);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy MM dd");
System.out.println(md+" "+ubm+" "+sdf.format(exp)+" "+" "+i.getId());
}
}
但是当我退出使用它并使用 setTime 时,它解决了我的问题。我想知道我之前犯了什么错误以及为什么那天事情不起作用以及是否有任何错误(因为我没有得到任何编译时间)错误)它实际上是什么。以下是给出正确结果的相同代码的版本。
public void calculateExpiryDate(List<Item> items)
{
Iterator<Item> itr=items.iterator();
while(itr.hasNext())
{
Item i=itr.next();
Date md=i.getManufacturingDate();
int ubm=i.getUseBeforeMonths();
Calendar c=new GregorianCalendar();
c.setTime(md);
//System.out.println(c);
c.add(Calendar.MONTH, ubm);
Date exp=c.getTime();
i.setExpiryDate(exp);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy MM dd");
System.out.println(md+" "+ubm+" "+sdf.format(exp)+" "+" "+i.getId());
}
}
最佳答案
你的问题是 GregorianCalendar
的构造函数期望年份为绝对值,但 getYear()
返回 1900 的偏移量。
查看 Java 文档可以发现(除了使用的 Date 方法均已弃用):
Date.getYear():
returns a value that is the result of subtracting 1900 from the year that contains or begins with the instant in time represented by this Date object, as interpreted in the local time zone.
公历日历:
年构造函数参数the value used to set the YEAR calendar field in the calendar
而setTime(Date)
使用 md.getTime()
返回的值这是 number of milliseconds since January 1, 1970, 00:00:00 GMT
.
关于java - getMonth getYear getDate 给出错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32886160/
我正在为一个 Ionic 3 项目编写代码,我在该项目中使用 FullCalendar 插件来显示日历 UI。当我尝试更改日历上一天的背景时,页面模块中的这段代码出现问题。我使用了 FullCalen
我有一个函数可以获取过去/ future 周 @X 周的星期一。我将它与本网站上的其他代码结合在一起。我相信它是这样的: CREATE FUNCTION [FOO] (@X INT) RETU
我希望结果始终为 1: DECLARE @x datetime2 SELECT @x=GETDATE() SELECT CASE WHEN @x>GETDATE() THEN 0 ELSE 1 END
我在 iframe 中使用 php 作为计数器。我正在使用 getdate();功能。我的本地时间不是中午 12:16,如果我使用 getdate();现在从 php 获取本地时间,小时显示为 13。
我在使用 GetDate() 时遇到问题,由于某种原因未返回正确的时间(比实际时间提前 7 小时),我正在使用 AZURE code> 并且数据库配置了正确的位置(美国西部)。我将不胜感激任何帮助!
我有一些 JS 代码,它接收客户端的日期/时间并将其传递到服务器,如下所示: function SetPostbackValues() { //Function that gets t
我一直在开发一个项目,在我的私有(private)静态类 MyDateEvaluator 中,有一个已弃用的 api,即 getDate()。 这是我的第一个代码: @Override
我有一个名为sample的表,它有一个名为[__INSERT_DATE]的列,该列为空。现在我想将该列更改为默认值 getdate()。当我尝试以下操作时,它给了我一个错误。 ALTER TABLE
我这里有一个问题,我想做的是从表中获取当前日期和一列。这是到目前为止我的代码: s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, R
有人知道 GETDATE() 从哪里得到 DATE 本身吗? 最佳答案 好问题。 GETDATE() 函数从连接的server 获取DATETIME。 如果你连接你的 localhost 然后从你的本
这是由于我的笔记本电脑上的时区设置还是更复杂的原因? 当前时间 var dateObj = new Date(); var month = dateObj.getUTCMonth() + 1; //m
我需要获取 yyyy-MM-dd 格式的日期,但我总是获取不同的格式。如何根据需要获取日期选择器值? https://jsfiddle.net/041h6mss/ HTML: JS: $(fun
我有一个 Android 应用程序,我只在 Android M 中遇到来自 Android 的 CalendarView 的 getDate() 方法的问题。我已经在 6.0 中测试过它,它工作得很好
我正在尝试设置 4 天范围内的日期(从:今天 - 2,到:今天 + 2)。今天,8 月 31 日,我在代码中发现了错误,显示无效日期。我正在像这样更改日期,如果我 console.log() 它,它会
我想知道是否有人可以帮助我在执行 getDate 时显示前导零?现在显示为 8/3/2010 ...我想要 08/03/2010。 最佳答案 您需要检测日期和月份的值是否小于10,并自行添加零: va
我有一些纯 javascript 日历。我的问题是我想在所选月份之前添加天数。 |so|mo|di|mi|do|fr|sa| ______________________ |29|30|31|1 |2
http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/usr.bin/tar/Attic/getdate.y?rev=1.9.12.1;conten
理论问题。 想象一下这种情况。我需要获取今天的日期和时间(不是现在,而是今天——一天的开始)。我可以使用以下任一代码来完成: $now = time(); $today = date('Y-m-d H
以下脚本返回 20 而不是 21! var d = new Date("2010/03/21"); document.write(d.getDate()); 我做错了什么?这是 JavaScript
试图创建具有 getdate() 的表功能 CREATE TABLE Orders (OrderId int NOT NULL PRIMARY KEY, ProductName varchar(50
我是一名优秀的程序员,十分优秀!