百度2017秋招-时间戳

题目大意:给出一个时间(秒为单位),然后将其转换为对应的年月日。

注意事项:unix中生成的时间戳精确到秒级别,而java中精确的毫秒级别,因此,在unix下输入的时间戳要先转换为java下对应的时间戳。(*1000操作)

解题思路:1)将unix时间戳转换为java下的时间戳。2)直接使用java下SimpleDateFormat()类对象的format()方法,将其转换。

代码如下:

package 百度;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
 * @题目要求:Unix 时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX 时间(POSIX time),
 * 是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
 * Unix时间戳不仅被使用在 Unix 系统、类 Unix 系统中,也在许多其他操作系统中被广泛采用。
 * Moment.js 是一个 Javascript 中用来处理时间的库,给定 Unix 时间戳,他能够返回当前的年月日。你可以实现这个功能吗?
 * 提示:4年一闰100年不闰400年又闰
 * @输入:输入不超过50行,每行包含一个整数 x 表示一个 Unix 时间戳。(0<=x<=10^10)
 * @输出:对于每一行,返回 yyyy mm dd 格式,表示对应的年月日。
 * 
 * @测试输入:
 * 103424
 * 1368864000 
 * @测试输出:
 * 1970 01 02
 * 2013 05 18
 *  
 * @author 崔洪振367
 * @version 创建时间:2017年4月22日 下午7:06:23
 */
public class Q2017秋招_Unix时间戳 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n=0;
		while (scanner.hasNext() && n<50) {//控制输入的时间戳不超过50条
			n++;
			long time = scanner.nextLong();
			reverse(time);
		}
		scanner.close();
	}
	
	public static void reverse(long time){
		Date date = new Date(time*1000);//unix中生成的时间戳精确到秒级别,而java中精确到毫秒级别,所以需要*1000
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd");//关注一下这个类
		System.out.println(sdf.format(date));//时间输出方法用format()来实现。
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值