0

我已经完成了可以打印 Rally 中所有用户的用户名和最后登录日期的程序。但是,我需要一些帮助来比较 lastlogindate 和当前日期,以便如果他们在 30 天后没有登录,我可以禁用用户帐户。

package com.Rally;

import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
import com.rallydev.rest.RallyRestApi;
import com.rallydev.rest.request.QueryRequest;
import com.rallydev.rest.response.QueryResponse;
import com.rallydev.rest.util.Fetch;
import com.rallydev.rest.util.QueryFilter;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class QueryExample {

    public static void main(String[] args) throws URISyntaxException, IOException {

        //Create and configure a new instance of RallyRestApi
        RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), "userid", "pwd");
        restApi.setApplicationName("QueryExample");

        try {

            System.out.println("Querying the lastlogindate information of the users...");

            QueryRequest user = new QueryRequest("user");

            user.setFetch(new Fetch("UserName", "LastName", "LastLoginDate"));
            //user.setQueryFilter(new QueryFilter("LastLoginDate", "<", "current date-30"));


            QueryResponse queryResponse = restApi.query(user);
            if (queryResponse.wasSuccessful()) {
                System.out.println(String.format("\nTotal results: %d", queryResponse.getTotalResultCount()));
                for (JsonElement result : queryRespo`enter code here`nse.getResults()) {
                    JsonObject users = result.getAsJsonObject();
                    JsonElement lastLogin = users.get("LastLoginDate");
                    if (lastLogin.isJsonNull()) {
                            // do nothing
                    }
                    else {
                    System.out.println(String.format("\t%s : LastLoginDate=%s",
                            users.get("UserName").getAsString(),
                            users.get("LastLoginDate").getAsString()));
                    }

                }
            } else {
                System.err.println("The following errors occurred: ");
                for (String err : queryResponse.getErrors()) {
                    System.err.println("\t" + err);
                }
            }

        } finally {
            //Release resources
            restApi.close();
        }
    }
}
4

1 回答 1

0

您可以使用 Joda 时间库:

Date d1=new Date(2013, 08, 21);
Date d2=new Date(2013, 08, 22);
Duration d=new Duration(d1,d2);
于 2013-08-21T06:13:02.210 回答