给定一个表示ISO8601格式的日期/时间的字符串(例如20100723T073000),我需要使用通用strftime格式字符串最终将其解析为用户提供的格式.为此,我需要将ISO8601时间戳转换为Unix时间戳.Perl有大量的日期/时间操作模块,我有点不知所措.有关如何做到这一点的任何建议?
如何从unix-timestamp中以数学方式计算日期数,而不使用任何函数和简单的数学公式.
1313905026 - > 8(今天08/21/2011)
我有一个数据库使用unix时间作为其日期(我正在使用mySQL).我想以每日日期格式检索日期.这是我的查询:
SELECT FROM_UNIXTIME(time_created) FROM member
Run Code Online (Sandbox Code Playgroud)
这适用于1970年以后的日期(例如,1314162229),但不适用于1970年之前的日期(例如,-769338000).这附近有工作吗?
我有一个用户可以发表评论的博客.我插入他们发布评论的时间,NOW()然后用它date('j M Y', stored timestamp)来显示他们发布的时间.
我想知道NOW()是否会返回locatime of the end user or the localtime at my server.难道是更适合使用UNIX_TIMESTAMP比NOW()来计算此用户发布的评论的本地时间.
我想以时间戳的形式将日期设置为无限日期?有人说我们可以使用"0",有些人说这样设置大值60*60*24*100.而且我不想这样做.有没有合适的方法来处理这个问题.
谢谢,丁克.
我一直试图简单地将字符串"1998-04-11"转换为UNIX时间戳,根据在线转换器应该是892245600.
但我一直得到不同的结果.
struct tm tm;
time_t ts;
strptime("1998-04-11", "%Y-%m-%d", &tm);
tm.tm_mon = tm.tm_mon -1;
ts = mktime(&tm);
printf("%d \n", (int)ts); //unix time-stamp
printf("%s \n", ctime(&ts)); //human readable date
Run Code Online (Sandbox Code Playgroud)
结果:
893502901
Sat Apr 25 13:15:01 1998
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?
我想将Datetime(2014-12-23 00:00:00)更改为unixtime.我尝试使用Datetime函数,但它没有用.我在一个数组中得到了Datetime标记.
Zeit =np.array(Jahresgang1.ix[ :,'Zeitstempel'])
t = pd.to_datetime(Zeit, unit='s')
unixtime = pd.DataFrame(t)
print unixtime
Run Code Online (Sandbox Code Playgroud)
非常感谢
我之所以遇到这种情况,是因为我正在跨多个平台使用时间,并且似乎它们在系统中实现和/或处理unix时间的方式彼此都有些不同。这样的问题。
Unix没有将非整数Unix时间数直接表示为二进制分数的传统。取而代之的是,使用包含两个整数的复合数据类型来表示亚秒精度的时间,第一个是time_t(Unix时间的整数部分),第二个是时间数的分数部分(以百万分之一为单位) struct timeval)或十亿分之一(在struct timespec中)。这些结构提供了基于十进制的定点数据格式,该格式对某些应用程序很有用,而对于其他应用程序则很容易转换。
这似乎是Go(UnixNano)中的实现。但是,实际上,有许多使用毫秒(Java?)的语言/平台,并且某些平台使用Float(试图保持一定的精度),而其他平台则主要使用Int。
因此,如果我正在实现一种传输格式,而我只能使用64位来存储时间值,而没有更多的话,我的问题有两个:
主要目标是尝试在尽可能多的语言和平台上尽可能地准确(当然,在每个平台上都不必诉诸自定义代码)。
ps:我知道这有点主观,但我相信仍然有可能做出一个很好的,客观的答案。如果不是这种情况,请随时关闭。
我正在尝试编写一个简单的时间戳系统,它提供了当前时间的纪元秒和小数秒.我正在使用boost库,有类似这样的东西:
const boost::posix_time::ptime epoch(boost::gregorian::date(1970, 1, 1));
boost::posix_time::ptime time() {
boost::posix_time::ptime now = boost::posix_time::microsec_clock::universal_time();
return now;
}
boost::posix_time::time_duration dur = (time() - epoch);
Run Code Online (Sandbox Code Playgroud)
然后使用以下元素提取纪元值:
dur.total_seconds();
dur.fractional_seconds();
Run Code Online (Sandbox Code Playgroud)
具体来说,这将返回适当的unix时间吗?如果没有,有关如何纠正它的任何建议?谢谢.