【问题标题】:i want to fetch country based on our local timing我想根据我们当地的时间来获取国家
【发布时间】:2018-12-06 10:52:21
【问题描述】:

enter image description here我有这么多国家和他们自己的时间。如果我们的本地时间和国家时间相同,则应显示与所有国家相关的时间。 谁能帮我写一段代码并上传国家计时 Excel 表。 非常感谢。enter image description here

public void countryBased() {
    LocalDateTime dateTime = LocalDateTime.parse(LocalDateTime.now().toString());
    TimeZone gmtTime=TimeZone.getTimeZone("GMT"+00);
    System.out.println("gmtTime new-->" + gmtTime);

    System.out.println("dateTime-->" + dateTime);
    /*
     * SchedulerRunTimes schedulerRunTime =
     * SchedulerRunTimesLocalServiceUtil
     * .createSchedulerRunTimes(CounterLocalServiceUtil.increment());
     */
    List<SchedulerRunTimes> schedulerRunTime = SchedulerRunTimesLocalServiceUtil.getSchedulerRunTimeses(-1, -1);
    /*
     * schedulerRunTime.setLOCAL_STANDARD_TIME(String.valueOf(dateTime.
     * getHour() * 100));
     */
    for (SchedulerRunTimes schedulerRunTimes : schedulerRunTime) {
        String GMTRunTime = schedulerRunTimes.getGMTRunTime();
        System.out.println(GMTRunTime);
        String datetimes = (String.valueOf(dateTime.getHour()+00));
        /*if (gmtTime.equals(GMTRunTime)) {
            trigger(schedulerRunTimes);
        } else {
            System.out.println("time Mismatch");
        }*/
    }
}

private void trigger(SchedulerRunTimes runTimes) {
    _log.info(runTimes.getCountryName() + " is triggered.");
    _log.info(runTimes.getCountryCode() + " is triggered.");

}

}

【问题讨论】:

  • 你能把你的要求解释清楚吗?很明显,我的意思是提供您的输入、所需的输出示例以及您当前的代码
  • 不要发布代码图片。将代码包含在问题中会更好,因为您也有。
  • 我有一个不同的国家和他们的相关时间,比如日本有 400(4am) 美国有 600(6am),印度有 1200(12am) 巴基斯坦 (1400)2pm。现在我们的当地时间是 4:45,所以那些国家属于 4 点;我们想要的那个国家。
  • 以上代码是我最新的代码。
  • 我看不懂你的代码。提示: (1) 由于您可以使用 java.time,现代 Java 日期和时间 API,因此只能这样做。不要使用旧的TimeZone 类,而是使用ZoneId。 (2) LocalDateTime.parse(LocalDateTime.now().toString())LocalDateTime.now() 的作用相同。

标签: java java-8 timezone liferay-7 liferay-6.2


【解决方案1】:

我得到了解决方案。

   try {
        LocalDateTime dateTime = LocalDateTime.parse(LocalDateTime.now().toString());

        String GMTTiming = String.valueOf(dateTime.getHour() * 100);

        _log.info("GMT Time for Country-->" + GMTTiming);

        List<SchedulerRunTimes> schedulerRunTime = SchedulerRunTimesLocalServiceUtil.getSchedulerRunTimeses(-1, -1);

        for (SchedulerRunTimes schedulerRunTimes : schedulerRunTime) {
            String GMTRunTime = schedulerRunTimes.getGMTRunTime();
            _log.info("GMTRunTime-->" + GMTRunTime);

            _log.info("Compairing GMT Timing --------------->"
                    + GMTTiming.trim().equalsIgnoreCase(GMTRunTime.trim()));

            if (GMTTiming.trim().equalsIgnoreCase(GMTRunTime.trim())) {

                PurchasePrice.triggerCountry(schedulerRunTimes);
            } else {

                _log.info("Time is Different and Country Not Found");
            }
        }
        throw new CountryNotFoundException("Time is Different and Country Not Found");
    } catch (CountryNotFoundException e) {

        e.printStackTrace();
    }

【讨论】:

    猜你喜欢
    • 2014-09-14
    • 1970-01-01
    • 2021-12-19
    • 2013-07-12
    • 1970-01-01
    • 2014-04-01
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多