小编Hal*_*aar的帖子

Mysql将TIMESTAMP转换为INTEGER - 时区

我需要在MySQL(InnoDB)DB中将一些TIMESTAMP字段转换为INT.我意识到将TIMESTAMP转换为INT是不寻常的,但我们仍然需要这样做:)

看起来很简单,但有一些时区和夏令时错误.

我有一个脚本,每列生成我的SQL代码.例如,它生成:

ALTER TABLE alarmLog ADD COLUMN started_tmp INT UNSIGNED;
UPDATE alarmLog SET started_tmp = UNIX_TIMESTAMP(started);
ALTER TABLE alarmLog DROP started;
alter TABLE alarmLog CHANGE started_tmp started INT UNSIGNED NULL DEFAULT 0;
Run Code Online (Sandbox Code Playgroud)

如果我比较使用前后数据select FROM_UNIXTIME(1291788036);,结果看起来不错.

然后,我们的想法是将所有客户端软件更改为转换为UTC,并在存储时使用该INT.检索时,该INT将转换为当前时区.

但后来文档警告我这个场景(CET中的夏令时):

mysql> SELECT UNIX_TIMESTAMP('2005-03-27 02:00:00');
+---------------------------------------+
| UNIX_TIMESTAMP('2005-03-27 02:00:00') |
+---------------------------------------+
|                            1111885200 |
+---------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT UNIX_TIMESTAMP('2005-03-27 03:00:00');
+---------------------------------------+
| UNIX_TIMESTAMP('2005-03-27 03:00:00') |
+---------------------------------------+
|                            1111885200 |
+---------------------------------------+
1 row in set (0.00 …
Run Code Online (Sandbox Code Playgroud)

mysql timestamp dst

11
推荐指数
1
解决办法
3万
查看次数

如何获取测试项目的构建目录?

我有一个测试项目,我需要加载一个XLSX文件.为此,我添加了一个带有copy-always的文件,以便它最终出现在build目录中,但以下所有内容都返回了错误的路径:

  1. System.Reflection.Assembly.GetAssembly(typeof(testclass)).Location;
  2. AppDomain.CurrentDomain.BaseDirectory
  3. Directory.GetCurrentDirectory();

他们都给了我:

"C:\\Users\\username\\Documents\\visual-studio-projecten\\projectname\\TestResults\\username_ICT003 2012-06-20 12_07_06\\Out"

我需要

"C:\\Users\\username\\Documents\\visual-studio-projecten\\projectname\\TestProject\\bin\\Debug\\SupportFiles\\"

我该如何做到这一点?

c# visual-studio

6
推荐指数
2
解决办法
7902
查看次数

将对象(.o)文件添加到qtcreator项目

如何将第三方.o和.h文件添加到QtCreator中的Qt C++项目?我想从John The Ripper中添加一些已编译的.o文件到我的probject(忽略它的非跨平台性).作为一个测试,一个小的C程序(在QtCreator之外)编写并将其链接common.oMD5_std.o并且它工作正常; 我可以这样做gcc -o runme common.o MD5_std.o simpleprogram.c,但是使用QtCreator,似乎没有任何效果.我一直得到未定义的引用.

我尝试将其添加到.pro文件中:

LIBS += "$$_PRO_FILE_PWD_/common.o" "$$_PRO_FILE_PWD_/MD5_std.o" 
Run Code Online (Sandbox Code Playgroud)

还有这个:

LIBS += /full/path/to/common.o /full/path/to/MD5_std.o
Run Code Online (Sandbox Code Playgroud)

我还尝试INCLUDEPATH在.pro文件中设置和添加.o文件作为"其他文件"和"源",但无论我做什么,对.o文件中的函数的调用总是会导致未定义的引用.

另外,根据我在互联网上找到的所有建议(这对我们很有用,非常奇怪),我没有找到一种方法将.o文件添加到项目中,以便将它们复制到阴影构建中目录,并从那里链接.我似乎错误地提到了$$_PRO_FILE_PWD_.

BTW:我开始工作的是连接系统库.当我添加-lcryptLIBS,包括unistd.h,我可以调用crypt函数就好了.

c c++ qt qmake qt-creator

3
推荐指数
1
解决办法
2845
查看次数

Qt对象仍然可以在没有事件循环的情况下删除Later()吗?

我对Qt中的线程和事件循环感到困惑.

一个QThread的正常运行exec()run().但是当你覆盖时run(),就不会有事件循环.

这个(较旧的)doc声明调用deleteLater()在没有事件循环的线程中创建的对象不起作用:

如果没有运行事件循环,则不会将事件传递给对象.例如,如果在线程中创建QTimer对象但从不调用exec(),则QTimer将永远不会发出其timeout()信号.调用deleteLater()也不起作用.(这些限制也适用于主线程.)

但是,请查看以下代码:

class MyObject : public QObject
{
    Q_OBJECT

    QString content;

public:
    MyObject(QObject *parent = 0);
    ~MyObject();
};

class MyThread : public QThread
{
    Q_OBJECT
public:
    explicit MyThread(QObject *parent = 0);
    void run();

signals:

public slots:

};

MyObject::MyObject(QObject *parent) :
    QObject(parent),
    content("foobar")
{}

MyObject::~MyObject()
{
    // This code is still executed before I close the program. How?
    qDebug() << "Destroying MyObject";
}

MyThread::MyThread(QObject *parent) :
    QThread(parent) …
Run Code Online (Sandbox Code Playgroud)

c++ qt

3
推荐指数
1
解决办法
857
查看次数

标签 统计

c++ ×2

qt ×2

c ×1

c# ×1

dst ×1

mysql ×1

qmake ×1

qt-creator ×1

timestamp ×1

visual-studio ×1