BJT转UTC世界协调时
来源:互联网 发布:淘宝号怎么解绑手机号 编辑:程序博客网 时间:2024/06/15 09:59
最近收到朋友发来bjt转换utc的题目,就自己试着实现了下。
计算题目内容:
UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。
有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输入数据。
你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。
提醒:要小心跨日的换算。
输入格式:
一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。
输出格式:
一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。
以下为本人的代码:
package tech.wetech.cms.backup;import java.util.Scanner;public class BJT2UTC { public static final Integer stepH = 8;// 时差 public static final Integer stepM = 0;// 分差 private static Integer carry = 0;// 分差如果大于60就要进位 public static String trans2UTC(int BJT) throws Exception { String hour = ""; String minute = ""; if (BJT >= 0 && BJT <= 59) { hour = bjtH2utcH(0); minute = String.valueOf(BJT); } else if (BJT >= 60 && BJT <= 99) { hour = bjtH2utcH(BJT / 10); minute = "0" + bjtM2utcM(BJT % 10); } else if (BJT >= 100 && BJT <= 909) { hour = bjtH2utcH(BJT / 100); minute = (BJT % 100) <= 9 ? "0" + bjtM2utcM(BJT % 100) : bjtM2utcM(BJT % 100); } else if (BJT >= 910 && BJT <= 959) { hour = bjtH2utcH(BJT / 100); minute = bjtH2utcH(BJT % 100); } else if (BJT >= 1000 && BJT <= 2359) { hour = bjtH2utcH(BJT / 100); minute = (BJT % 100) <= 9 ? "0" + bjtM2utcM(BJT % 100) : bjtM2utcM(BJT % 100); } else { throw new Exception("参数不合法:" + BJT); } System.out.println(hour + ":" + minute); return hour + minute; } private static String bjtM2utcM(Integer minute) { minute -= stepM; if (minute < 0) { minute += 60; carry -=1; } else if(minute >60) { minute -= 60; carry +=1; } return minute.toString(); } private static String bjtH2utcH(Integer hour) { hour -= stepH + carry; if (hour < 0) { hour += 24; } else if (hour > 23) { hour -= 24; } if (hour == 0) return ""; return hour.toString(); } public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); while (true) { int BJT = sc.nextInt(); String utc = trans2UTC(BJT); System.out.println(utc); } }}
- BJT转UTC世界协调时
- 世界时间UT和协调世界时间UTC
- BJT 与UTC的转换
- 本地时间与UTC(世界协调时间)的转换
- JAVA北京时间转换为世界协调时
- JAVA第一周,BJT和UTC的转换
- 转:utc
- UTC(协调世界时)和UT(世界时,别名:格林尼治时间)?
- NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间
- NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间
- 世界标准时间(UTC) 常识
- 时间(格林尼治时间/协调世界时/世界时间)
- BJT转换
- CString转UTC时间
- wstring 转 utc时间
- UTC
- utc
- UTC
- Linux重启服务器
- Android studio 代码混淆及打包apk
- Android让手机振动一下
- java 实现插入排序冒泡排序快速排序
- [bzoj1026]: [SCOI2009]windy数
- BJT转UTC世界协调时
- 浅入浅出Flask框架:处理客户端通过POST方法传送的数据
- 美团技术文档
- iOS10 用户权限设置问题
- web.xml配置五个有用的过滤器
- 搜索文件和改变文件属性
- Android应用层View绘制流程与源码分析(棒的不行)
- [Python] Lambda 表达式
- JMeter 中 HTTP Cookie 管理器的使用