则需要得到20120808113000--201200808120000,
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestTime {
public static void main(String[] args) {
System.out.println(getTimeArea(null));
}
public static String getTimeArea(Date date){
if(date == null){
date = new Date();
}
String year = getBean("yyyy").format(date);
String month = getBean("MM").format(date);
String day = getBean("dd").format(date);
String hour = getBean("HH").format(date);
String min = getBean("mm").format(date);
String min_x_1 = "00";
String min_x_2 = "29";
String min_y_1 = "30";
String min_y_2 = "59";
String sec_default_s = "00";
String sec_default_e = "59";
String con = "-";//连接符
String begin = "";
String end = "";
//验证分钟
if(Integer.parseInt(min)>30){
begin = year+month+day+hour+min_x_1+sec_default_s;
end = year+month+day+hour+min_x_2+sec_default_e;
return begin+con+end;
}else{
//先验证是不是在00:00与00:30分钟之间,包含00:00和00:30,如201208081200
if("00".equals(hour)){
hour = "23";
//在零点30分钟之间,验证是不是月初第一天,即day为01
if("01".equals(day)){
//月初第一天的凌晨,验证是不是年初第一月 20120101001200
if("01".equals(month)){
year = String.valueOf(Integer.parseInt(year)-1);
month = "12";
day = "31";
}else{
//不是年初第一月 如:20120201001200
if("03".equals(month)){
//验证是不是闰年
Integer yearInt = Integer.parseInt(year);
if((yearInt % 4 == 0 && yearInt % 100 != 0) || yearInt % 400 == 0){
day = "29";
}else{
day = "28";
}
}else{
if("05".equals(month)||"07".equals(month)||"10".equals(month)||"12".equals(month)){
day = "30";
}else{
day = "31";
}
}
month = formatDecimal(month);
}
}else{
//不是月初第一天
day = formatDecimal(day);
}
}else{
//不在零点30分钟之前
hour = formatDecimal(hour);
}
begin = year+month+day+hour+min_y_1+sec_default_s;
end = year+month+day+hour+min_y_2+sec_default_e;
return begin+con+end;
}
}
public static SimpleDateFormat getBean(String pattern){
return new SimpleDateFormat(pattern);
}
public static String formatDecimal(String data){
return new DecimalFormat("00").format(Integer.parseInt(data)-1);
}
}
分享到:
相关推荐
java 获取标准北京时间 标准北京时间 北京时间 网络时间 internet时间
### Java 获取文件创建时间 在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO...
java 获取标准格林尼治时 标准格林尼治时间 标准时间
然而,标题"java 获取系统时间错误,少了8小时"表明开发者在尝试获取系统时间时遇到了一个时区问题。这通常与Java中的时区设置和夏令时(Daylight Saving Time, DST)处理有关。 Java的`Date`类在默认情况下会按照...
然而,有时我们可能会遇到一个常见问题,即从Java程序中获取到的时间与实际时间相差8小时,这主要是由于时区设置不正确导致的。这个问题在跨时区开发和运行应用时尤为突出。 首先,我们需要理解Java中的日期和时间...
java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段
java 获取指定日期(带毫秒)的 13位时间戳 ,获取当前时间的时间戳 一句话就可以System.currentTimeMillis();
Java 实现当前日期的农历日期显示以及节气显示,完美实现24节气
获取日出日落时间的Java工具类,如果要获取国外的日出日落时间,需要减去对应时差哦
在Java编程中,获取计算机硬件信息,如CPU、主板和硬盘序列号,通常是通过操作系统提供的API接口或者第三方库来实现的。以下是一个详细的步骤和知识点介绍: 1. **CPU序列号获取**: CPU序列号是CPU的一个唯一标识...
### Java通过Sigar库获取进程相关信息 在Java开发过程中,有时候我们需要监控系统资源或特定进程的状态,例如CPU使用率、内存占用情况等。这在服务器性能监控、问题排查等方面尤为重要。本文将详细介绍如何使用...
Java获取本周一、上周一、下周一时间,Java获取本周一、上周一、下周一时间,Java获取本周一、上周一、下周一时间,Java获取本周一、上周一、下周一时间
java 获取本周周一。一般在外国,‘周一’就是周日。所以网上很有很多方法,还得二次修改,我这个直接就是真正中国的周一。欢迎下载。
java8 localtime 毫秒与时间互转 获取前一天六点钟时间
功能:获取java进程pid 进程可根据该pid调用exec自杀 注意事项:不能改变PidTool.java所在的包,否则需要重行生成dll。 编译命令中 "-PidTool.dll" 改为 "-FePidTool.dll",我整漏了! 使用方法: 1.javac PidTool...
本文将详细讨论如何通过Java获取AMR格式语音的长度。 首先,要理解AMR文件的结构。AMR文件是一种二进制文件,由一系列的帧组成,每个帧包含一定时间长度的语音数据。帧头包含了帧类型和压缩数据,而帧长度则根据...
解决 Java 获取时间与系统时间差 N 个小时的问题 在 Java 中获取时间时,可能会出现与系统时间相差 N 个小时的情况。这种情况通常是由于 Java 的时区设置不正确所致。下面将详细介绍解决该问题的方法。 时区设置是...
在Java编程中,获取网络音乐文件的时长是一项常见的任务,尤其在开发音乐播放器或者处理音频流的应用中。下面将详细介绍三种不同的方法来实现这一功能。 ### 方法一:使用`BufferedInputStream`和`AudioInputStream...
在Java编程环境中,获取USB外接设备的信息是一个相对复杂的过程,因为Java标准库并不直接支持USB设备的交互。但是,通过使用第三方库如libusb或JavaUSB(也称为JUSB),我们可以实现这一功能。以下是对如何使用Java...
在Java IPMI和VxIPMI中,你可以通过以下步骤获取服务器信息: 1. **建立连接**:首先,你需要通过Java程序建立到目标服务器的IPMI连接。这通常涉及设置服务器的IP地址、端口、用户名和密码。VxIPMI库可能提供了一种...