数据处理之计算星期几

数据处理,需要得出日期当天的星期数,因此想到了java中的calendar函数,这函数是相当的好使啊
在说代码之前,大家看看数据的格式,好让大家明白切分规则,为什么那样切字符串

这是一个csv文本,只需要在后面追加一个星期数就可以了,因此提取年月日的切分如下:

			a = line.split(" ");
    			b = a[0].split("/");
    			int day = Integer.parseInt(b[0]);
    			int mouth = Integer.parseInt(b[1]);
    			int year = Integer.parseInt(b[2]);

日历函数的主要用法为如下:
Calendar calendar = Calendar.getInstance();
    			calendar.set(year, mouth-1, day);
    			int number = calendar.get(Calendar.DAY_OF_WEEK);
    			String [] str = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六",};
先获取日历,设置日期,随后会返回一个数,根据这个数查找字符串组就可以找到对应的星期数

完整程序如下:

package com.hemin.main;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.*;

/**
 * 
 * @author 8888
 *
 */
public class TiemPro
{
    public static void main(String[] args) throws IOException, Exception
    {
    		TiemPro tp = new TiemPro();
    		tp.readFile();
    }   
    
    public void readFile() throws Exception, IOException{
    	String path = "C:\\Users\\8888\\Desktop\\data.csv";
    	String dest = "d://haha.csv";
    	File file = new File(path);
    	FileWriter fileWriter=new FileWriter(dest, true); 
    	if(file.isFile()&&file.exists()){
    		InputStreamReader iread = new InputStreamReader(new FileInputStream(path),"utf-8");
    		
    		BufferedReader bufferedReader = new BufferedReader(iread);
    		String line = null;
    		String[] a ={};
    		String[] b ={};
    		
    		while((line=bufferedReader.readLine())!=null){
    			a = line.split(" ");
    			b = a[0].split("/");
    			int day = Integer.parseInt(b[0]);
    			int mouth = Integer.parseInt(b[1]);
    			int year = Integer.parseInt(b[2]);
    			Calendar calendar = Calendar.getInstance();
    			calendar.set(year, mouth-1, day);
    			int number = calendar.get(Calendar.DAY_OF_WEEK);
    			String [] str = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六",};
    			//System.out.println(str[number]);
    			fileWriter.write(line+","+str[number]+"\n");
    		}
    		iread.close();
    		fileWriter.close();
    	}
    }
    
}


此程序涉及文件的读写,和日期函数的使用,适合新学者使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值