java - 将 UTC 日期四舍五入到最接近的 5 分钟

标签 java android date

我有以下代码来获取日期时间 UTC。

public static Date GetUTCdatetimeAsDate()
{
    return StringDateToDate(GetUTCdatetimeAsString());
}

public static String GetUTCdatetimeAsString()
{
    final SimpleDateFormat sdf = new SimpleDateFormat(DATEFORMAT);
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    final String utcTime = sdf.format(new Date());

    return utcTime;
}

public static Date StringDateToDate(String StrDate)
{
    Date dateToReturn = null;
    SimpleDateFormat dateFormat = new SimpleDateFormat(DATEFORMAT);

    try
    {
        dateToReturn = (Date)dateFormat.parse(StrDate);
    }
    catch (ParseException e)
    {
        e.printStackTrace();
    }

    return dateToReturn;
}

现在我想使用 GETUTCdatetimeAsDate,如果我得到例如 11/22/2014 03:12,分钟将四舍五入到最近的 5 分钟。因此,在本例中,该时间将为 11/22/2014 03:15。如果是 11/22/2014 03:31,则将是 11/22/2014 03:35。

关于如何实现这一目标有什么想法吗?

最佳答案

public static Date StringDateToDate(String StrDate) {
    Date dateToReturn = null;
    SimpleDateFormat dateFormat = new SimpleDateFormat(DATEFORMAT);
    try {
        dateToReturn = (Date) dateFormat.parse(StrDate);
    } catch (ParseException e) {
        e.printStackTrace();
        return null;
    }

    Calendar c = Calendar.getInstance();
    c.setTime(dateToReturn);
    int minute = c.get(Calendar.MINUTE);
    minute = minute % 5;
    if (minute != 0) {
        int minuteToAdd = 5 - minute;
        c.add(Calendar.MINUTE, minuteToAdd);
    }

    return c.getTime();
}

关于java - 将 UTC 日期四舍五入到最接近的 5 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801701/

相关文章:

javascript - 搜索时间戳大于X天的对象

perl - 在 Perl 中识别日期字符串

java - 有自动更新Javadoc的工具吗?

Java 8 使用 boolean 值打开并行()流?

android - 分析 - 哪一层?

java - 在 Docker 环境中测试 Android 项目 : local. 属性没有此类文件

java - 如何在特定时间后关闭 ProgressDialog

java - 玩!框架 CRUD 模块 : adding default values and change date format?

java - Mvn Test 命令行构建失败,测试在 Eclipse 中运行

java - Spring:通过java配置在Controller层启用全局方法安全