java怎样将时间切割_如何实现时间区间的分割??

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class Test {

public static void main(String[] args) {

String a = "2014-8-1 16:09";

String b = "2014-8-2 18:11";

SimpleDateFormat sp = new SimpleDateFormat("yyyy-M-d HH:mm");

try {

Date startDate = sp.parse(a);

Date endDate = sp.parse(b);

Calendar startCalenaer = Calendar.getInstance();

startCalenaer.setTime(startDate);

Calendar endCalenaer = Calendar.getInstance();

endCalenaer.setTime(endDate);

for (int i = 0; startCalenaer.before(endCalenaer); startCalenaer.add(Calendar.HOUR_OF_DAY, +1), i++) {

printTime(startCalenaer);

if (i == 0) {

System.out.print(startCalenaer.get(Calendar.MINUTE) + " ");

} else {

System.out.print("00 ");

}

printTime(startCalenaer);

if (startCalenaer.get(Calendar.YEAR) == endCalenaer.get(Calendar.YEAR)

&& startCalenaer.get(Calendar.MONTH) == endCalenaer.get(Calendar.MONTH)

&& startCalenaer.get(Calendar.DAY_OF_MONTH) == endCalenaer.get(Calendar.DAY_OF_MONTH)

&& startCalenaer.get(Calendar.HOUR_OF_DAY) == endCalenaer.get(Calendar.HOUR_OF_DAY)) {

System.out.println(endCalenaer.get(Calendar.MINUTE));

} else {

System.out.println(59);

}

}

} catch (ParseException e) {

e.printStackTrace();

}

}

static private void printTime(Calendar c) {

System.out.print(c.get(Calendar.YEAR));

System.out.print("-");

System.out.print(c.get(Calendar.MONTH) + 1);

System.out.print("-");

System.out.print(c.get(Calendar.DAY_OF_MONTH));

System.out.print(" ");

System.out.print(c.get(Calendar.HOUR_OF_DAY));

System.out.print(":");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中可以使用RandomAccessFile类来实现文件分割。具体步骤如下: 1. 创建一个RandomAccessFile对象,指定要分割的文件和读写模式。 2. 获取文件总长度,计算出每个分割文件的长度。 3. 循环读取原文件,每读取到一个分割文件长度的数据就将其写入一个新文件中。 4. 关闭所有文件流。 下面是一个简单的Java文件分割示例代码: ```java import java.io.*; public class FileSplitter { public static void main(String[] args) { String sourceFile = "D:/sample.txt"; // 原文件名 String targetFolder = "D:/split/"; // 分割文件存放目录 int fileSize = 1024 * 1024; // 分割文件大小,这里为1MB try { // 创建RandomAccessFile对象 RandomAccessFile raf = new RandomAccessFile(sourceFile, "r"); // 获取文件总长度 long totalSize = raf.length(); // 计算分割文件数 int fileCount = (int) Math.ceil((double) totalSize / fileSize); // 循环读取原文件并写入分割文件 byte[] buffer = new byte[fileSize]; int len; for (int i = 0; i < fileCount; i++) { // 创建分割文件 File targetFile = new File(targetFolder + "part" + i); RandomAccessFile targetRaf = new RandomAccessFile(targetFile, "rw"); // 读取并写入分割文件 while ((len = raf.read(buffer)) != -1) { targetRaf.write(buffer, 0, len); if (targetRaf.length() >= fileSize) { break; } } // 关闭分割文件流 targetRaf.close(); } // 关闭原文件流 raf.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上代码将一个名为sample.txt的文件分割成1MB大小的多个文件,并存放在D:/split目录下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值