QT long long转时间戳中的小时
时间: 2023-09-22 21:07:54 浏览: 65
如果你想将一个long long类型的变量转换成时间戳中的小时数,可以使用Qt中的QDateTime类来实现。具体步骤如下:
1. 将long long类型的变量转换成QDateTime类型的时间。可以使用QDateTime::fromMSecsSinceEpoch()函数,将long long类型的变量转换成QDateTime类型的时间。
2. 获取时间戳中的小时数。可以使用QDateTime::time()函数获取时间中的QTime对象,然后使用QTime::hour()函数获取小时数。
示例代码(C++):
```cpp
long long timestamp = 1631845689000; // 时间戳,单位为毫秒
QDateTime datetime = QDateTime::fromMSecsSinceEpoch(timestamp); // 将时间戳转换为QDateTime类型的时间
int hour = datetime.time().hour(); // 获取时间中的小时数
```
在此示例中,hour的值为14,表示时间戳1631845689000对应的时间为14点。
相关问题
Qt中long转QDatetime
可以使用QDateTime::fromSecsSinceEpoch()函数将long类型的时间戳转换为QDateTime类型的时间。示例代码如下:
```cpp
#include <QDateTime>
// 将long类型的时间戳转换为QDateTime类型的时间
long timestamp = 1611222000; // 假设时间戳为2021年1月21日10时0分0秒
QDateTime dateTime = QDateTime::fromSecsSinceEpoch(timestamp);
```
这里假设时间戳为1611222000,即2021年1月21日10时0分0秒。使用QDateTime::fromSecsSinceEpoch()函数将时间戳转换为QDateTime类型的时间。转换后dateTime的值为"2021-01-21T10:00:00"。
时间戳 long转timestamp
可以使用Java中的`java.sql.Timestamp`类来将long类型的时间戳转换为Timestamp类型的时间戳,示例代码如下:
```java
long timeStamp = 1615274426000L; // 待转换的时间戳
Timestamp ts = new Timestamp(timeStamp);
```
上述代码将`long`类型的时间戳转换为`Timestamp`类型的时间戳。其中,`Timestamp`类是Java中表示日期和时间的类,它继承自`java.util.Date`类。转换后的`Timestamp`对象可以使用`getTime()`方法获得对应的毫秒数时间戳。
如果需要将`Timestamp`类型的时间戳转换为`long`类型的时间戳,则可以使用`getTime()`方法,示例代码如下:
```java
Timestamp ts = new Timestamp(System.currentTimeMillis()); // 获取当前时间的Timestamp类型时间戳
long timeStamp = ts.getTime(); // 将Timestamp类型时间戳转换为long类型时间戳
```