Tag: datetime

Should I use the datetime or timestamp data type in MySQL?

The Question : 2755 people think this question is useful Would you recommend using a datetime or a timestamp field, and why (using MySQL)? I’m working with PHP on the server side. The Question Comments : this has some relevant information codeproject.com/Tips/1215635/MySQL-DATETIME-vs-TIMESTAMP If you want your application to be broken in February, 2038 use timestamp.

我应该使用字段“datetime”还是“timestamp”?

你会推荐使用datetime还是timestamp字段,为什么(使用MySQL)? 我在服务器端使用PHP。 答案 MySQL中的时间戳通常用于跟踪对记录的更改,并且每次记录更改时都会更新。如果你想存储一个特定的值,你应该使用日期时间字段。 如果您想要在使用UNIX时间戳或本地MySQL日期时间字段之间做出决定,请使用本机格式。你可以用这种方法在MySQL中进行计算, 如果你想用PHP操作它,当你查询记录的时候("SELECT DATE_ADD(my_datetime, INTERVAL 1 DAY)"),把值的格式变成UNIX时间戳("SELECT UNIX_TIMESTAMP(my_datetime)")很容易。 一个重要的区别是DATETIME代表一个日期(如在日历中发现的)和一个时间(可以在挂钟上观察到),而TIMESTAMP代表一个明确定义的时间点。如果您的应用程序处理时区,这可能非常重要。多久以前是’2010-09-01 16:31:00’?这取决于你所处的时区。对我而言,这仅仅是几秒钟之前,对你来说,这可能代表着未来的一段时间。如果我从“1970-01-01 00:00:00 UTC”开始说1283351460秒,那么你确切地知道我在什么时候谈论。(见下面尼尔的优秀答案)。 另一个区别是:具有“原生”日期时间的查询将不被缓存,但具有时间戳的查询将是。 “MySQL中的时间戳通常用于跟踪对记录的更改”不要以为这是一个好的答案。时间戳比MattBianco和Nir说的要复杂得多。虽然,答案的第二部分是非常好的。这是真实的,这是一个很好的建议。 还有一个重要的注意事项,DATETIME和TIMESTAMP可以使用CURRENT_TIMESTAMP,NOW()作为默认值,但DATE例如不能,因为默认使用’0000-00-00’,所以为了解决这个问题,U应该写您自己的触发器到该表,插入当前日期(没有时间)在字段/ col与DATE mysql类型。 文件说, “要指定自动属性,使用DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP条款”。 在MySQL 5及更高版本中,TIMESTAMP值从当前时区转换为UTC存储,并从UTC转换回当前时区以供检索。(这只发生在TIMESTAMP数据类型,而不是其他类型如DATETIME。 默认情况下,每个连接的当前时区是服务器的时间。时区可以在每个连接的基础上设置,如MySQL服务器时区支持中所述。 除了行元数据(日期创建或修改)以外,我总是使用DATETIME字段。 正如MySQL文档中提到的: 当您需要包含日期和时间信息的值时,使用DATETIME类型。MySQL以’YYYY-MM-DD HH:MM:SS’格式检索并显示DATETIME值。支持的范围是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”。 … TIMESTAMP数据类型的范围为’1970-01-01 00:00:01’UTC到’2038-01-09 03:14:07’UTC。它具有不同的属性,具体取决于MySQL版本和服务器运行的SQL模式。 一般使用TIMESTAMP的时间很可能会达到这个下限 – 例如存储生日。 下面的示例显示了如何TIMESTAMP日期类型更改的值后更改time-zone to 'america/new_york'哪里DATETIME是不变的。 mysql> show variables like '%time_zone%'; +------------------+---------------------+ | Variable_name | Value | +------------------+---------------------+

How to use milliseconds in sequelize standard createdAt field?

问题内容: In a Nodejs application I’m using the Sequelize ORM to write records to a mysql database. Every table has a createdAt field by default, but that only records datetime with seconds: mysql> SELECT createdAt FROM ticks LIMIT 3; +---------------------+ | createdAt | +---------------------+ | 2017-11-08 16:34:21 | | 2017-11-08 16:34:15 | | 2017-11-08 16:34:27

Transfer DateTime to .NET WebAPI

问题内容: I would like simply get Android current time and pass to .NET WebAPI. That is it. But there are many approaches… I tried this one Android side String TimeOfRequest = Long.toString(new Date().getTime()); .NET side var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); t = epoch.AddMilliseconds(Convert.ToInt64(locationItem.TimeOfRequest)); But it gives this result 0001-01-02

Converting with Python forex modul

问题内容: I have a large dataframe with dates (datetime64[ns] format) and values of JPY. I want to convert the JPY values of the dataframe for each specific time to USD using the python forex modul. The forex modul needs datetime.datetime / date_obj as input, so I tried to convert the datetime64 column to datetime.datetime dataframe,