0 0

时间转换5

把一天分成48份,每一份代表半个小时,从0点开始进行记录, 比如说8点30分到11点30分是工作的,48份表示为: 00000000 00000000 01111110 00000000 00000000 00000000 如何把实际的工作的时间转换成48份,又如何把48份转换成实际的时间,分别写成函数,用C# 或 java 语言写都可以 每一天工作的时间是不定的 可以是多个时间段 , 就好像是小时工的那种时间制

2014年7月23日 11:40

2个答案 按时间排序 按投票排序

0 0

采纳的答案

import java.util.ArrayList;
import java.util.List;

public class Test {

	public static String STR_ONE = "111111111111111111111111111111111111111111111111";
	public static String STR_ZERO = "000000000000000000000000000000000000000000000000";

	private static int getIndex(String time) {
		int hour = Integer.valueOf(time.substring(0, time.indexOf(":")));
		int min = Integer.valueOf(time.substring(time.indexOf(":") + 1));
		int index = hour * 2 + (min >= 30 ? 1 : 0);
		return index;
	}

	public static String generateFormat(String result, int beginIndex,
			int endIndex) {
		if (result == null) {
			result = STR_ZERO;
		}
		String tmp = STR_ONE.substring(beginIndex, endIndex);
		result = result.substring(0, beginIndex) + tmp
				+ result.substring(endIndex);
		return result;
	}

	public static String generateTime(int i) {
		int min = i % 2;
		int hour = i / 2;
		return hour + ":" + (min>0?"30":"00");
	}

	public static String fromTime(List<String> timeList) {
		String result = null;
		int beginIndex = 0;
		int endIndex = 0;
		for (int i = 0; i < timeList.size(); i++) {
			String t = timeList.get(i);
			if (i % 2 == 0) {
				beginIndex = getIndex(t);
			} else {
				// 截止日期
				endIndex = getIndex(t);
				result = generateFormat(result, beginIndex, endIndex);
			}
		}
		return result;
	}

	public static List<String> toTime(String format) {
		List<String> list = new ArrayList<String>();
	   while(format.indexOf("1")>0)
	   {
		   int beginIndex = format.indexOf("1");
		   int endIndex = format.substring(beginIndex).indexOf("0")+beginIndex;
		   if(endIndex<beginIndex)
		   {
			   endIndex = 48;
		   }
		   format = format.substring(0,beginIndex)
				   +STR_ZERO.substring(beginIndex,endIndex)
				   +format.substring(endIndex);
		   list.add(generateTime(beginIndex));
		   list.add(generateTime(endIndex));
	   }
       return list;
	}

	public static void main(String[] args) {
		String beginTime = "8:30";
		String endTime = "11:30";
		String beginTime2 = "23:30";
		String endTime2 = "24:00";
		List<String> l = new ArrayList<String>();
		l.add(beginTime);
		l.add(endTime);
		l.add(beginTime2);
		l.add(endTime2);
		String format = fromTime(l);
		System.out.println(format);
	    System.out.println(toTime(format));

	}
}


测试结果:
引用
000000000000000001111110000000000000000000000001
[8:30, 11:30, 23:30, 24:00]

2014年7月23日 13:21
0 0

	public static void main(String[] args) {
//		Scanner str = new Scanner(System.in);    //Scanner类
//		System.out.println("Please input start time :");
//		String start = str.next();
//		System.out.println("Please input end time :");
//		String end = str.next();
//		for(int i=0;i<=48;i++){
//			map.put(30*i, i);
//		}
//		String start = "8:30";
//		String end = "11:30";
		int[] arr = new int[48];
		int startMin = 8*60+30;
		int endMin = 11*60+30;
		int spoint = startMin/30;//17
		int epoint = endMin/30;//23
		for(int i=spoint;i<epoint;i++){
			arr[i]=1;
		}
		for(int a:arr){
			System.out.print(a);
		}
	}

大概写的,不知道适用不

2014年7月23日 12:25

相关推荐

    标准时间转换器

    在IT领域,时间转换是一个常见的需求,特别是在网络通信和编程中。"标准时间转换器"是一个工具,专门设计用于将自1970年1月1日0时(即Unix时间戳或Epoch时间)以来的时间偏移量转换为公元纪年的具体日期和时间。这个...

    长整型时间转换工具

    长整型时间转换工具就是为了解决这类时间数据的处理问题而设计的。 首先,我们来理解什么是长整型时间。在计算机科学中,长整型通常用来表示大范围的整数,其位数比普通整型要多,因此能存储更大的数值。在处理时间...

    UTC时间转换算法

    当从UTC时间转换为RTC时间时,我们需要考虑用户所在的时区和夏令时(DST, Daylight Saving Time)。UTC不包含时区信息,因此转换过程中需要结合地理位置和当前日期来确定适当的时区偏移。例如,如果用户位于东八区...

    GPS UTC 时间转换

    4. **时间区和夏令时**:UTC是不考虑时区和夏令时的,但在某些应用场景中,可能需要将UTC时间转换为特定时区的本地时间,这涉及到时区偏移和夏令时规则。 5. **转换算法**:GPS和UTC之间的转换算法通常涉及简单的加...

    格林威治时间转换为北京时间

    标题"格林威治时间转换为北京时间"涉及到的知识点主要包括: 1. **时间标准**:理解不同的时间标准,如GMT、UTC(协调世界时)以及本地时间。UTC是基于原子钟的,与GMT基本一致,但会进行闰秒调整以保持与地球自转...

    GPS时间转换_MATLAB

    GPS时间转换程序,MATLAB版本。 gps2cal 将GPS周和周内秒转换到公历时间 gps2cal1 由公历日期和GPS周内秒计算公历时间 cal2gps 将公历GPS时间转换到GPS周和周内秒 mjd2cal 将简化儒略日转换到公历时间 cal2mjd 将...

    JavaScript将当前时间转换成UTC标准时间的方法

    本文实例讲述了JavaScript将当前时间转换成UTC标准时间的方法。分享给大家供大家参考。具体如下: 这里使用JavaScript将当前时间转换成UTC标准时间,北京在东八区,在北京时间基础上减掉8小时 &lt;!DOCTYPE html&gt; &...

    GPS UTC时间转换函数

    在IT行业中,GPS UTC时间转换函数是一个至关重要的概念,尤其对于地理位置定位、导航系统以及时间同步等应用。本文将深入探讨这个主题,帮助你理解如何处理和转换GPS UTC时间,并将其与北京时间相互转换。 首先,...

    十六进制与时间转换

    时间转换涉及到将时间格式从一种形式转换为另一种形式,如从人类可读的24小时制或12小时制转换为机器友好的秒数或者特定格式的字符串。在分析数据包时,时间戳通常是关键信息之一,因为它能帮助我们确定数据包的发送...

    UTC与本地时间转换函数

    同时实现了UTC到本地时间的转换和本地时间到UTC时间转换. UTC时间使用的是32位整型实现.没有使用64位.因此只能存储约132年之间的时间. 单位为s. 同时附上一个UTC转换工具.便于对比UTC时间转换是否正确. 工具会把时间...

    格林威治时间转化北京时间以及时间转换格式代码大全

    我们将主要参考提供的两个Java源文件:`DateUtil.java`和`GTMDateUtil.java`,并结合一个名为`格林威治时间转换.rar`的压缩包资源。 首先,了解基本概念是至关重要的。格林威治标准时间(GMT)是国际时间标准,位于...

    基于c++的GPS时间转换程序

    本项目是一个基于C++实现的GPS时间转换程序,能够帮助开发者将GPS时间转换为常见的日期格式,如年、月、日,以及周和年积日。 GPS时间与我们日常生活中的协调世界时(UTC)有所不同。GPS时间从1980年1月6日00:00:00...

    易语言长整数与日期时间转换

    本文将详细介绍易语言中长整数与日期时间转换的相关知识点。 首先,我们要理解易语言中的“长整数”类型。长整数(LongInteger)是易语言内置的基本数据类型之一,它可以存储非常大的整数值,通常用于表示距离某个...

    UTC时间戳与北京时间转换C源码

    `mktime()`函数可以将结构体`tm`表示的本地时间转换为时间戳。 在UTC和北京时间的转换中,关键在于理解时区差异。由于北京位于东八区,所以要将UTC时间转换为北京时间,只需在UTC时间戳基础上加8小时;反之,若要将...

    时间转换工具及源码

    在IT领域,时间转换是一个常见的任务,特别是在数据分析和系统集成中。本文将深入探讨"时间转换工具及源码"的相关知识点,包括EXCEL时标、UNIX时标和DATETIME之间的转换,以及如何利用源码进行自定义处理。 首先,...

    时间转换、IP转换工具

    在IT领域,时间转换和IP转换是常见的操作,尤其在系统管理和网络编程中扮演着重要角色。本工具“时间转换、IP转换工具”提供了一系列功能,帮助用户在不同时间格式和IP表示之间进行便捷的转换。 首先,让我们深入...

    日期时间转换工具.zip

    日期时间转换工具是一种在计算机软件领域中常见的实用程序,它主要功能是帮助用户在不同的日期时间格式之间进行转换。在日常工作中,我们可能需要处理来自不同系统或国家的日期和时间数据,这些数据可能遵循各自的...

    常用的时间转换函数

    在编程领域,时间转换函数是处理时间数据的关键工具,它们帮助开发者将时间数据从一种格式转换为另一种格式,以便于分析、存储或展示。在给定的描述中,主要涉及了两种时间转换方法:MJD时间和BCD编码时间的转换。 ...

    时间转换.zip

    【时间转换】这个压缩包文件主要包含了与"蓝桥杯VIP题和题解"相关的程序设计和算法问题。其中,每个子文件都是针对特定题目或输入数据的解决方案,以`.c`源代码文件和`.in`输入文件的形式存在。下面我们将深入探讨...

    java时间转换大全

    ### Java时间转换大全 在Java开发中,时间与日期的操作是一项非常常见的需求。尤其是在处理数据库交互、日志记录以及各种业务逻辑中,正确且高效地处理时间格式转换至关重要。本文将详细介绍Java中常用的时间和日期...

Global site tag (gtag.js) - Google Analytics