我想要2个月之间的java.util.Date月数,而不计算月份的日期.所以我只想比较年份和月份.
monthsBetween(new Date(2012,01,28), new Date(2012,02,01)) ---> 1
monthsBetween(new Date(2012,02,27), new Date(2012,02,28)) ---> 0
monthsBetween(new Date(2012,03,28), new Date(2012,07,01)) ---> 4
Run Code Online (Sandbox Code Playgroud)
我试过这个(返回0,预期1),使用Joda-time:
private static int monthsBetween(final Date fromDate, final Date toDate) {
DateTime date1 = new DateTime().withDate(2012, 1, 20);
DateTime date2 = new DateTime().withDate(2012, 2, 13);
PeriodType monthDay = PeriodType.yearDayTime().withDaysRemoved();
Period difference = new Period(date1, date2, monthDay);
int months = difference.getMonths();
return months;
}
Run Code Online (Sandbox Code Playgroud)
而且这个(相同的结果),使用Joda-time:
private static int monthsBetween(final Date fromDate, final Date toDate) {
return Months.monthsBetween(new DateTime(fromDate), new …Run Code Online (Sandbox Code Playgroud) 我正在尝试展平由 构造的对象数组FOR JSON。
我的查询如下所示:
select
(
select id from MyTable
where id in (select value from OPENJSON(@jsonArray))
FOR JSON PATH
) existing,
(
select value id from OPENJSON(@jsonArray)
where value not in (select Id from MyTable)
FOR JSON PATH
) missing
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Run Code Online (Sandbox Code Playgroud)
生成的 JSON 为:
{
"existing": [
{
"id": "a00cd8f6-d1c6-4604-b235-59d3cacd5bcc"
},
{
"id": "052455b6-6bf5-47d3-8bee-7ba98d7fbd50"
}
],
"missing": [
{
"id": "328add2d-e8f2-4a0e-af54-5b1733310170"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想要的是:
{
"existing": [
{
"id": "a00cd8f6-d1c6-4604-b235-59d3cacd5bcc"
},
{
"id": …Run Code Online (Sandbox Code Playgroud) 我有一个Java日期:tempDate = Sun Jan 01 00:00:00 GMT + 01:00 2012.
我想创建一个新的日期,即tempDate年份第一周的第一天.
那是:
Mon Jan 02 00:00:00 GMT+01:00 2012
Run Code Online (Sandbox Code Playgroud)
当我尝试使用Joda时间时:
DateTime cal = new DateTime(tempDate).withWeekOfWeekyear(1).
withDayOfWeek(DateTimeConstants.MONDAY);
Run Code Online (Sandbox Code Playgroud)
我得到了我想要的,但在前一年:
Mon Jan 03 00:00:00 GMT+01:00 2011
Run Code Online (Sandbox Code Playgroud)
我如何在Joda Time中完成这项工作?