时间戳转时间 精确到毫秒
时间: 2024-02-05 21:05:16 浏览: 85
以下是一个将时间戳转换为精确到毫秒的时间的示例代码:
```python
import time
def timestamp_to_time(timestamp):
seconds = int(timestamp / 1000)
milliseconds = int(timestamp % 1000)
time_struct = time.localtime(seconds)
time_string = time.strftime("%Y-%m-%d %H:%M:%S", time_struct)
return f"{time_string}.{milliseconds}"
timestamp = 1612345678901
formatted_time = timestamp_to_time(timestamp)
print(formatted_time) # 输出:2021-02-03 04:17:58.901
```
这段代码将时间戳除以1000得到秒数和毫秒数,然后使用`time.localtime()`函数将秒数转换为时间结构体,再使用`time.strftime()`函数将时间结构体格式化为字符串。最后,将毫秒数添加到字符串末尾,得到精确到毫秒的时间。
相关问题
C++ 时间戳转string 时间格式yyyymmddhhMMss 时间戳精确到毫秒
以下是C++中将时间戳精确到毫秒,并转换为格式为`yyyymmddhhMMss`的字符串的示例代码:
```c++
#include <iostream>
#include <iomanip>
#include <sstream>
#include <ctime>
std::string timestampToString(long long timestamp) {
std::time_t t = timestamp / 1000; // 将时间戳除以1000,转换为秒级别的时间戳
std::tm tm = *std::localtime(&t);
std::ostringstream oss;
oss << std::put_time(&tm, "%Y%m%d%H%M%S");
oss << std::setfill('0') << std::setw(3) << timestamp % 1000; // 将毫秒级别的时间戳转换为3位数字,补零
return oss.str();
}
int main() {
long long timestamp = 1609459200123LL; // 时间戳,单位为毫秒
std::string stringTime = timestampToString(timestamp);
std::cout << stringTime << std::endl; // 输出:202101010000000123
return 0;
}
```
该示例中先将时间戳除以1000,转换为秒级别的时间戳,然后再使用`std::setfill`和`std::setw`将毫秒级别的时间戳转换为3位数字,并且补零。其余部分与上一题示例代码相同。
java 时间戳(精确到毫秒)转日期
在Java中,你可以通过`java.util.Date`类或者其子类`java.sql.Timestamp`将时间戳转换为日期。这里我们以`Timestamp`为例,因为它的精度更高,通常用于数据库操作:
```java
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimestampToDateExample {
public static void main(String[] args) {
// 获取当前时间戳(精确到毫秒)
long timestampInMilliseconds = System.currentTimeMillis();
// 创建Timestamp对象
Timestamp timestamp = new Timestamp(timestampInMilliseconds);
// 将Timestamp转换为Date对象
Date date = timestamp.toLocalDate(); // 或者timestamp.getDate()
// 如果需要字符串表示,可以使用SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String formattedDate = sdf.format(date);
System.out.println("原始时间戳: " + timestamp);
System.out.println("转换后的日期: " + formattedDate);
}
}
```
在这个例子中,`System.currentTimeMillis()`返回当前系统时间的时间戳,然后我们创建了一个`Timestamp`对象,并将其转换为`Date`对象,最后使用`SimpleDateFormat`格式化日期为易读的字符串形式。
阅读全文