草庐IT

date-math

全部标签

random - 为什么 JDK 既有 Math.random() 又有 Random 类?

仅仅是因为“大型API综合症”还是生成在某些情况下更偏向的随机数?如果是……我认为控制偏见很重要。 最佳答案 他们是一样的,真​​的。只是一个方便的方法。检查javadochere.此外,您可以通过创建随机对象来重新播种,而Math.random()将使用静态Random实例。 关于random-为什么JDK既有Math.random()又有Random类?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

java - Math.pow 在重复调用时产生不同的结果

升级到Java1.8.0_20后我们的测试系统报错,但是代码没有改。我发现,使用完全相同的输入参数调用的Math.pow()在重复调用时会产生不同的结果。在Java1.8.0_11中,它的行为符合预期并始终返回相同的值,但在Java1.8.0_20及更高版本中,它有时会返回略有不同的值。这类似于问题Math.powyieldsdifferentresultdependingonjavaversion,但有所不同,因为pow()的结果在一个VM中不同。以下JUint测试在Java1.8.0_20及更高版本下运行时失败importstaticorg.junit.Assert.assertE

java - 为什么 Math.pow(int,int) 比我天真的实现慢?

昨天看到一个问为什么Math.pow(int,int)这么慢的问题,但是这个问题措辞不当,没有研究成果,所以很快就关了。我自己做了一些测试,发现Math.pow方法在处理时确实比我自己的幼稚实现(甚至不是特别有效的实现)运行得非常慢带有整数参数。下面是我运行的测试代码:classPowerTest{publicstaticdoublemyPow(intbase,intexponent){if(base==0)return0;if(exponent==0)return1;intabsExponent=(exponent在我的电脑上(linux在intelx86_64cpu上),输出几乎总

java - 获取 java.util.date 小时数的最快方法?

从java.util.date对象开始时:关于性能,将小时部分作为integer的最佳方法是什么?我必须迭代几百万个日期,因此性能很重要。通常我会按如下方式获取小时数,但也许有更好的方法?java.util.Datedate;Calendarcalendar=Calendar.getInstance();calendar.setTime(date);inthours=calendar.get(Calendar.HOUR_OF_DAY); 最佳答案 UTC:inthour=(int)(date.getTime()%86400000)/

java - Float vs double Math Java

以下是否存在精度差异(假设a和b的值可以在不损失精度的情况下用float表示)。有花车:floata;floatb;doubleresult=1+a*b;double:doublea;doubleb;doubleresult=1+a*b; 最佳答案 简单的例子:floata=16777217;//Largestintexactlyrepresentableinafloat.floatb=16777217;System.out.println((double)(1+a*b));doublec=16777217;doubled=1677

java - Spring 的@DateTimeFormat 生成一个包含前一天的 Date 对象

我有一个包含日期的requestParam(即2017-01-24T06:00:00.000Z)。我正在使用DateTimeFormat将其格式化为日期以传递到我的Controller中。@DateTimeFormat(iso=DateTimeFormat.ISO.DATE)DatemyDate但是当我将myDate打印到我的控制台时,我得到“MonJan23,18:00:00CST2017”,但在我上面的示例中它应该是1月24日。为什么它会将我的日期改回1天? 最佳答案 这里有几件事在起作用。首先,Spring的@DateTime

java - 如何将年和周转换为 Java Date 对象?

如何将年和周转换为JavaDate对象?我正在使用JodaTime,但使用解决方案的标准Java类也很好。 最佳答案 使用标准java类的解决方案。这只是获取当前时间并将年份和年份中的星期字段设置为已知值。Calendarcld=Calendar.getInstance();cld.set(Calendar.YEAR,year);cld.set(Calendar.WEEK_OF_YEAR,week);Dateresult=cld.getTime(); 关于java-如何将年和周转换为Ja

java - 在 preparedStatement 中使用 oracle 的 to_date

我正在尝试使用preparedStatement中的to_date在oracle数据库中输入日期,但出现错误。代码片段:sql="selectIdentifierfrommetadatawherecontent_cdate>=to_date(?,'dd-mm-yyyy')andcontent_cdatedateToString方法返回如下值:2012-01-0112:00:00错误:[Oracle][ODBC][Ora]ORA-01861:literaldoesnotmatchformatstring请指教。 最佳答案 您应该使用正

java - Math.round MAX 返回值

我正在使用Math.round,我发现它不会返回任何大于(2^32/2)-1的值,但文档说明它可以/将返回长值,即2^64...下面有一段代码。longbTmp=(long)Math.round(4294967296L);System.out.println(bTmp);System.out.println(Long.MAX_VALUE);哪个输出:21474836479223372036854775807我错过了什么吗? 最佳答案 它正在调用Math.round()的重载,它接受一个float并返回一个int。看thejavado

java - 使用 JODA 将 RFC 3339 从字符串解析为 java.util.Date

假设我有一个日期为RFC3339格式的字符串,例如“2013-07-04T23:37:46.782Z”,由以下代码生成://Thisisourdate/timeDatenowDate=newDate();//ApplyRFC3339formatusingJODA-TIMEDateTimedateTime=newDateTime(nowDate.getTime(),DateTimeZone.UTC);DateTimeFormatterdateFormatter=ISODateTimeFormat.dateTime();StringdateString=dateFormatter.prin