如何实现时间戳转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现时间戳转换相关的知识,希望对你有一定的参考价值。

不用语言环境已经实现的现成方法,
如何自己实现时间戳转换标准时间格式如(2009-09-19)
请问有人试过吗?
比如年份可以这样获得 time/(86400*365)+1970
但是具体的 月份,日,时,分,秒呢。
请各位赐教

  以前遇到过一个关于时间戳的问题,为了不被大家鄙视,先说一下概念。

  具体时间戳怎么定义的我也不清楚,但百度百科中有这么一句:“时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数”。

  按这个定义,编程语言中倒是有一种类似的函数,getTime(),但这个函数返回的是自1970年1月1日到当前时间的总 毫秒数 ,而不是总 秒数。

  在js中,将一个字符转化成Date型也不是什么难事:
  var str = \'2013-08-30\'; // 日期字符串

  str = str.replace(/-/g,\'/\'); // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串

  var date = new Date(str); // 构造一个日期型数据,值为传入的字符串

  在上面,new Date(str)构造了一个日期,参数str至少要提供年月日三部分,也就是形如“2013/03/08”的字符串,不能是"2013/03",否则将得到一个NaN。此时构造出来的时间是:2013/03/08 00:00:00。同时你还可以传入小时、分钟和秒数,但不能只传入小时,比如“2013/03/08 17”,这样的参数同样会得到一个NaN。参数可以是“2013/03/08 17:20”或者“2013/03/08 17:20:05”,这样都可以得到正确的时间,其中如果秒数没给出,则默认为0。

  此时得到的是日期型数据,如果要得到上面所谓的时间戳,可以这样:
  var time = date.getTime();
  这样得到的是一个数值,表示的是从1970年1月1日0点0分0秒到date那一刻的毫秒数,如果把这个数字除以1000,就得到了秒数,同样继续除以60,得到分钟,再除以60得到小时等等。

  提示,通过这个getTime()函数,你可以得到两个日期的毫秒数,继而转化成秒数、分钟、小时甚至天数,比较两个日期的差值。
参考技术A   时间戳就是如1377216000000 这种格式,在mysql数据库中会经常用到把时间转换成时间戳或把时间戳转换成日期格式了,下面是时间戳操作转换方法:
  一、原理
  时间戳的原理是把时间格式转为十进制格式,这样就方便时间的计算
  如: 2013年08月23日 转化后是 1377216000000
  二、步骤
  1、创建 DateUtilsl类。
  代码如下:
  importjava.text.ParseException;
  importjava.text.SimpleDateFormat;
  importjava.util.Date;  
  /*
  * @author Msquirrel
  */
  public class DateUtils   
  privateSimpleDateFormat sf = null;
  /*获取系统时间 格式为:"yyyy/MM/dd "*/
  public static String getCurrentDate()
  Date d = newDate();
  sf = newSimpleDateFormat("yyyy年MM月dd日");
  returnsf.format(d);
    
  /*时间戳转换成字符窜*/
  public static String getDateToString(long time)
  Date d = newDate(time);
  sf = newSimpleDateFormat("yyyy年MM月dd日");
  returnsf.format(d);
    
  /*将字符串转为时间戳*/
  public static long getStringToDate(String time)
  sdf = newSimpleDateFormat("yyyy年MM月dd日");
  Date date = newDate();
  try
  date = sdf.parse(time);
   catch(ParseException e)
  // TODO Auto-generated catch block
  e.printStackTrace();
  
  returndate.getTime();
  
  2、在对应使用的地方调用。
  代码如下:
  DateUtils.getCurrentDate(); //获取系统当前时间  
  DateUtils.getDateToString(时间戳); //时间戳转为时间格式  
  DateUtils.getStringToDate("时间格式");//时间格式转为时间戳.
参考技术B 1286526868 参考技术C 1286526868 参考技术D 123123123

以上是关于如何实现时间戳转换的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本机反应将时间戳值转换为特定时间格式?

如何将时间戳日期转换为整数值

c# winform 如何把时间戳转换为时间?

js把时间戳只转换为“时“和”分”

如何将选定的时间戳转换为firebase服务器时间戳android

AIX 转换时间戳