大家好,感谢邀请,今天来为大家分享一下unix时间转换的问题,以及和unix时间戳转北京时间的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
本文目录
- js怎么把unix毫秒数转化为具体的Date啊
- PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
- unix时间是什么意思
- php时间格式怎么转换
- unix下获取精确到毫秒的 *** 的时间
- Unix时间戳转换怎样在Excel批量修改
一、js怎么把unix毫秒数转化为具体的Date啊
js中把 unix时间戳转换为 Date很简单,可以有两种方式:
1、新建一个日期对象并把时间戳作为参数传进去就可以了:
vartimestamp=1371466996.385 *** 6;
vardate=newDate(timestamp*1000);//js中是以毫秒为单位要乘以1000
2、对于已经存在的日期对象,调用 setTime *** 设置时间戳:
2、对于已经存在的日期对象,调用 setTime *** 设置时间戳:
vartimestamp=1371466996.385 *** 6;
date.setTime(timestamp*1000);//js中是以毫秒为单位要乘以1000
对于格林威治时间和本地时间, js提供了不同 *** (toGMTString(), toUTCString(), toLocaleString())输出,在需要格式化为字符串的时候调用不同 *** 就可以了。
对于格林威治时间和本地时间, js提供了不同 *** (toGMTString(), toUTCString(), toLocaleString())输出,在需要格式化为字符串的时候调用不同 *** 就可以了。
二、PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储、处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式。
这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限 *** 。
UNIX_TIMES *** P('2006-11-04
DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d')
DATE_FORMAT(NOW(),'%Y-%m-%d')
当然大家也可以选择在PHP中进行转换,下面说说在PHP中转换。
这种方式在PHP程序中完成转换,优点是无论是不是数据库中查询获得的数据都能转换,转换范围不受 *** ,缺点是占用PHP解析器的解析时间,速度相对慢。
日期转换为UNIX时间戳用函数:strtotime()
一般形式:strtotime('2010-03-24
三、unix时间是什么意思
1、Unix时间是指自1970年1月1日0时0分0秒(格林威治时间)起经过的秒数,也称为“UNIX时间戳”或“Epoch Time”。它被广泛应用于计算机 *** 中,用于记录和表示时间。Unix时间是计算机 *** 中最基本的时间表示方式,它不受时区、夏令时等影响,可以被不同 *** 作 *** 和编程语言通用地解释和转换。
2、Unix时间和“时间戳”是同一概念,只不过多被用于描述时间字符串中的一部分。Unix时间戳是一个整数,可以用32位或 *** 位二进制数字表示,它是从1970年1月1日开始计算的,到现在所经过的秒数。Unix时间戳的主要用途是记录和比较不同时间之间的差异,它可以轻松地进行加减运算,方便地进行时间计算。
3、Unix时间在计算机领域中有广泛的应用,比如在 *** 作 *** 中,Unix时间戳作为时间计数器被用于记录文件的创建日期、修改日期等信息。同时,在各种编程语言中,Unix时间戳也作为时间的一个重要表示方式,可以用于计算程序的运行时间等功能。此外,Unix时间在计算时间长度和计算机软件之间的时间交互中也起着非常重要的作用。
四、php时间格式怎么转换
一,PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″)示例如下:
echo strtotime(”2009-1-22″)结果:1232553600
说明:返回2009年1月22日0点0分0秒时间戳
二,PHP时间戳函数获取英文文本日期时间示例如下:
便于比较,使用date将当时间戳与指定时间戳转换成 *** 时间
(1)打印明天此时的时间戳strtotime(”+1 day”)
当前时间:echo date(”Y-m-d H:i:s”,time())结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 day”))结果:2009-01-23 09:40:25
(2)打印昨天此时的时间戳strtotime(”-1 day”)
当前时间:echo date(”Y-m-d H:i:s”,time())结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 day”))结果:2009-01-21 09:40:25
(3)打印下个星期此时的时间戳strtotime(”+1 week”)
当前时间:echo date(”Y-m-d H:i:s”,time())结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 week”))结果:2009-01-29 09:40:25
(4)打印上个星期此时的时间戳strtotime(”-1 week”)
当前时间:echo date(”Y-m-d H:i:s”,time())结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 week”))结果:2009-01-15 09:40:25
(5)打印指定下星期几的时间戳strtotime(”next Th *** sday”)
当前时间:echo date(”Y-m-d H:i:s”,time())结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”next Th *** sday”))结果:2009-01-29 00:00:00
(6)打印指定上星期几的时间戳strtotime(”last Th *** sday”)
当前时间:echo date(”Y-m-d H:i:s”,time())结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”last Th *** sday”))结果:2009-01-15 00:00:00
以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。
$date_time_array= getdate(1297845628);//13111776001316865566
$ho *** s=$date_time_array["ho *** s"];
$minutes=$date_time_array["minutes"];
$seconds=$date_time_array["seconds"];
$month=$date_time_array["mon"];
$day=$date_time_array["mday"];
$year=$date_time_array["year"];
"year:$year\nmonth:$month\nday:$day\nho *** :$ho *** s\nminutes:$minutes\nseconds:$
echo mktime(0, 0, 0, 9, 18, 2011)."\n";
echo mktime(0, 0, 0, 9, 25, 2011)."\n";//可以对此进行格式化
echo"time()显示年月日时分秒:". date("Y-m-d H:i:s", time())."\n";//这样连时,分秒一起显示
echo"time()只显示年月日:". date("Y-m-d", time())."\n";//只年示年月日
echo"时间戳格式化:". date("Y-m-d H:i:s", 1297845628)."\n";//直接使用时间戳
//把正常日期转成时间戳了,这里如果有时分秒也是同理,
$year=((int)substr("2008-12-04",0,4));//取得年份
$month=((int)substr("2008-12-04",5,2));//取得月份
$day=((int)substr("2008-12-04",8,2));//取得几号
echo mktime(0,0,0,$month,$day,$year);
<一>、PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)
<二>、php5.1以上时间戳会与实际时间相差8小时,解决办法如下
1、最简单的 *** 就是不要用php5.1以上的版本--显然这是不可取的 *** !!!
2、修改php.ini。打开php.ini查找date.timezone去掉前面的分号=后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改php.ini,那就奈何不得了。
3、在程序中添加时间的初始化的语句的即:“date_default_timezone_set("Asia/Shanghai");”这个可以由程序员任意设置,我的推
时区标识符, *** 内地可用的值是:PRC,Asia/Chongqing,Asia/Shanghai,Asia/Urumqi(依次为中国,重庆,上海, *** ),Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Ma *** ,Asia/Hong_Kong,Asia/Taipei(依次为 *** , *** ,台北)
这样就可以实现输出的是北京时间了
五、unix下获取精确到毫秒的 *** 的时间
1、在做测试或 *** 能优化时,经常要知道程序运行的时间,在Linux *** 可以使用time命令来计算程序运行运行所消耗的时间,能精确到毫秒,如果要精确到代码块或某个 *** 作运行时所消耗的时间,time命令就不给力了。如果对时间的精度要求不高的话,可以调用标准C的接口time来得到开始和结束的时间,再调用difftime接口来计算时间差,精度是秒,代码如下所示:
2、如果要让程序休眠3秒,Windows使用Sleep(3000),Linux使用sleep(3),即Windows的Sleep接口的参数的单位是毫秒,Linux的sleep接口的参数的单位是秒。如果需要精确到毫秒,以上程序就发挥不了作用,如果在J *** a要达到这要求就很简单了,代码如下所示:
3、通过Google找了一些资料后,发现C语言里没有标准的接口可以获得精确到毫秒的时间,都会调用到与 *** 作 *** 相关的API,下面会分别介绍在Linux和Windows *** 下的多种实现 *** ,希望对大家有帮助。
4、gettimeofday能得到微秒数,比毫秒还要更精确。
5、Windows *** 下有些编译器使用printf输出 *** 位整数参数要使用%I *** d,比如VC。
6、这种 *** 没给出计算时间差的实现,只给出如何用GetSystemTime调用得到当前时间,计算时间差比较简单,根据年、月、日、时、分秒和毫秒计算出一个整数,再将两整数相减即可。
7、以上是通过Google找到一些用C语言获得精确到毫秒的实现 *** ,对比Linux和Windows的 *** ,发现两个 *** 的API命名很不一样,Linux接口名要么都是小写要么使用下划线(_)来分隔单词,而Windows接口名中的单词首字母大写。
六、Unix时间戳转换怎样在Excel批量修改
1、Linux的时间戳其实就是从1970年1月1日0时0分0秒开始到对应时间的秒数,转换可以在当前天数的基础上加上1970年1月1日对应的天数,假定你的时间戳数值在单元格A1,公式如下:
2、=TEXT(A1/8 *** 00+25569,"yyyy/mm/dd HH:mm:ss")
3、8 *** 00是一天(24小时)的秒数,A1除以这个值即这个单元格所 *** 的天数。Excel中的日期即从1900年1月1日起到现在的天数,再加上1970所 *** 的天数,即25569天。通过TEXT函数将日期转换为你需要的格式,当然如果单元格的格式设置好了,可以只用以下公式:
关于unix时间转换,unix时间戳转北京时间的介绍到此结束,希望对大家有所帮助。