获取Unix时间戳(Unix timestamp):

2017-01-05 11:03:40来源:oschina作者:李茂冉人点击



## 什么是Unix时间戳?
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)
是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。
在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。
最近在用mongodb读取oplog日志,需要增量获取记录,mongodb就是采用这种格式来存储时间戳的!
## linux时间戳获得:
```sh
#date +%s
```
## Java 时间戳获得:
```java
Date date = new Date();
long time = date.getTime();
//System.currentTimeMillis() 也可以获得时间戳
//mysq 时间戳是秒只有10位,后三位是毫秒,要做处理
String dateline = time + "";
dateline = dateline.substring(0, 10);
```
## JavaScript 时间戳获得:
```javascript
var timestamp = Date.parse(new Date());
//var timestamp = (new Date()).valueOf(); 也可以这样得到时间戳
//var timestame =new Date().getTime(); 这样也可以得到时间戳
//因为上面取得的是毫秒数,所以要除以1000
var time=Math.round(new Date().getTime()/1000);
```
## C# 时间戳获得:
```c#
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
```
or
```c#
public int ConvertDateTimeInt(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return (int)(time - startTime).TotalSeconds;
}
DateTime dt = DateTime.Now;
this.textBox1.Text = ConvertDateTimeInt(dt).ToString();
```
## MYSQL 时间戳获得:
```sql
SELECT unix_timestamp(now())
```
## Perl 时间戳获得:
```
time()
```
## PHP 时间戳获得:
```
time() , mktime()
```
## PostgreSQL 时间戳获得:
```sql
SELECT extract(epoch FROM now())
```
## Python 时间戳获得:
```python
import time
time.time()
```
## Ruby 时间戳获得:
获取Unix时间戳:Time.now 或 Time.new
显示Unix时间戳:Time.now.to_i
## SQL Server 时间戳获得:
```sql
SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
```
## VBScript时间戳获得:
```vb
DateDiff("s", "01/01/1970 00:00:00", Now())
```

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台