`
jucks2611
  • 浏览: 99067 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 毫秒 时间 相互转换 15分钟间隔集合

 
阅读更多

有个功能,要获取当前时间以15分钟为间隔的集合数组,一开始用calendar.add(Calendar.MINUTE, -count);方法来获取当前时间前count分钟的时间,循环获取发现有问题,如:当前为10:02,第一次获取的时间为10:00是正确的,循环获取09:45的时间时,就不对了,目前不知道具体是什么原因造成的。现在采用了另外一个方法来获取,当前时间的毫秒数减去15分钟的毫秒数。不多说,看下面的代码:

package cn.sh.ideal.util;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public class DateUtil {
 
 /**
  *
  * @Title get15MinutesListByCurrentDate
  * @Description 获取长度为length的、时间间隔为15分钟的、长度为length的List集合
  * @param length
  * @return
  * @date Aug 17, 2012
  */
 public static List<String> get15MinutesListByCurrentDate(long length) {
  List<String> dateList = new ArrayList<String>();
  Calendar calendar = Calendar.getInstance();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//时间格式
  int minute = calendar.get(Calendar.MINUTE);// 得到分钟
  int count = 0;
  if (minute != 0 && minute != 15 && minute != 30 && minute != 45) { //时间不为00,15,30,45的情况
   for (int i = minute; i >= 0; i--) { //判断距离最近的00,15,30,45的分钟数
    if (i % 15 == 0) {
     break;
    } else {
     count++;
    }
   }
  }
  calendar.add(Calendar.MINUTE, -count); //获取最近的分钟

  int year = calendar.get(Calendar.YEAR); //得到年
  int month = calendar.get(Calendar.MONTH) + 1; //得到月
  int day = calendar.get(Calendar.DAY_OF_MONTH);// 得到天
  int hour = calendar.get(Calendar.HOUR_OF_DAY);// 得到小时
  int mi = calendar.get(Calendar.MINUTE);// 得到分钟
  String date = "";
  if (month < 10) {
   date = year + "0" + month + "" + day + hour + "" + mi; //月分0-9,转换为0开头
  }
  if (mi == 0) {
   date = year + "0" + month + "" + day + hour + "" + mi + "0"; //分钟为00
  }
  date += "00"; //加秒
  try {
   long millionSeconds = sdf.parse(date).getTime(); // 时间转毫秒
   System.out.println(sdf.format(millionSeconds)); //毫秒转时间
   for (long i = 0; i < length; i++) {
    dateList.add(String.valueOf(millionSeconds - i
      * (15 * 60 * 1000)));
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return dateList;
 }

 public static void main(String[] args) {
  DateUtil.get15MinutesListByCurrentDate(new Long(20));
 }
}

分享到:
评论

相关推荐

    java8 localtime 毫秒与时间互转 获取前一天六点钟时间

    java8 localtime 毫秒与时间互转 获取前一天六点钟时间

    java时间转换 毫秒 分钟 天数

    根据两个时间段,得到两者之间的毫秒数;分钟数;天数. 毫秒转换为分,毫秒转换为天,毫秒转换为秒

    易语言毫秒级时间

    毫秒是时间单位中的千分之一秒,通常用于需要高度精确的时间间隔计算。在计算机程序中,毫秒级时间的获取对于计时、定时任务、性能测试等场合至关重要。例如,在网络通信中,精确的时间戳可以帮助校对不同设备之间的...

    毫秒与日期转换小工具(支持复制)

    用 Java Swing 编写的一个对毫秒和日期进行相互转换的小工具,非常简单易用,而且支持Ctrl+C复制转换后的结果。对于经常进行毫秒和日期转换的人员来说是一个非常不错的选择!

    修改TimePicker时间间隔

    Android原生的TimePicker组件默认的分钟间隔为1分钟,但有时我们需要定制更精确的时间选择,比如每5分钟一个选项。要实现这一功能,我们需要创建一个自定义的TimePicker对话框,覆盖其默认的行为。 首先,我们需要...

    易语言获取系统时间到毫秒

    此外,如果你需要在程序中处理时间间隔或者定时任务,可以结合“延迟”或“定时器”等控制结构来实现。 在实际应用中,获取毫秒级别的系统时间常用于精确计时、同步操作、事件记录等场景,尤其在需要高精度时间控制...

    Java设置window系统时间,精确到毫秒

    目前Java没有直接设置系统时间精确到毫秒的方法,这里结合C可以时间。使用Java代码调用C库。

    Java日期时间字符串和毫秒相互转换的方法

    Java日期时间字符串和毫秒相互转换的方法 Java日期时间字符串和毫秒相互转换是Java开发中非常常见的操作。日期时间字符串是人类可读的格式,而毫秒是计算机易于处理的格式。以下是Java日期时间字符串和毫秒相互转换...

    毫秒与时间互相转换-精确到毫秒

    功能:将1970-01-01 00:00:00以来的毫秒数转换为对应的timestamp时间类型,精确保留毫秒级精度! 参数:I_MILLISECONDS NUMBER 待转换的毫秒数 示例:select MILLISECONDS2TIMESTAMP(1397457489296) from dual; ...

    java 时间字符串中毫秒值时有时无,怎么解析(csdn)————程序.pdf

    在Java编程中,处理时间字符串解析时经常遇到的问题是时间格式的不一致性,尤其是在毫秒值存在或缺失的情况下。本文将详细讲解如何在Java中解析包含或不包含毫秒值的时间字符串。 首先,我们来看标题和描述中提到的...

    毫秒与日期转换小工具

    用 Java Swing 编写的一个对毫秒和日期进行相互转换的小工具,非常简单易用。对于经常进行毫秒和日期转换的人员来说是一个非常不错的选择!

    C#实现毫秒转换成时分秒的方法

    这种需求通常出现在处理高精度时间计算或者时间间隔表示的场景中。本文将深入探讨如何使用C#实现毫秒到时分秒的转换,并提供一个具体的代码实现。 首先,我们要理解时间单位之间的关系。1分钟等于60秒,1小时等于60...

    java时间的转换

    Java提供了一系列的类和方法来帮助我们进行时间日期的格式化、解析和转换。在给定的文件中,主要涉及的是`java.util.Date`、`java.text.SimpleDateFormat`和`java.util.Calendar`这三个核心类。接下来,我们将详细...

    java 获取指定日期(带毫秒)13位时间戳

    java 获取指定日期(带毫秒)的 13位时间戳 ,获取当前时间的时间戳 一句话就可以System.currentTimeMillis();

    Java输出系统当前的日期(年月日时分秒毫秒)

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class TestOutDate { public static void main(String[] args) { //method 1...

    java时间操作大集合

    在Java编程语言中,时间操作是常见的任务,涵盖了日期、时间戳、时区等多种操作。在上述提供的代码段中,我们可以看到几个关于Java时间处理的关键知识点。这些方法主要用于获取当前时间,格式化时间字符串,以及将...

    java文字记忆毫秒计时器

    Java文字记忆毫秒计时器是一款专为提升记忆力设计的应用程序。它的工作原理是,在用户界面显示一个词语,用户在看到词语后尽快记下,然后软件会记录下从词语显示到用户记下词语这一过程所耗费的时间。这个时间以毫秒...

    VC七种取得时间间隔方法

    ### VC七种取得时间间隔方法详解 #### 一、前言 在计算机程序设计中,时间控制是一项重要的技术。尤其在需要精确控制时间间隔的应用场景中,如实时系统中的安全通信,准确的时间延迟机制至关重要。本文将详细介绍在...

    TIA博途-毫秒ms转换为天+小时+分钟+秒(FB全局库)-V15版本.zip

    1. 实时监控:当系统需要显示运行时间或等待时间时,毫秒转换功能可以帮助将这些数值转化为直观的天、小时、分钟和秒。 2. 报警管理:如果设备或系统出现故障,报警信息中可能包含触发故障的持续时间,转换后的时代...

    将毫秒转时间格式,和时间格式转换毫秒

    java中将毫秒值转时间格式,和时间格式转换毫秒值,

Global site tag (gtag.js) - Google Analytics