问题标签 [strftime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
timezone - 'US/Eastern' 和 'US/Central' 和 'US/Pacific' 是否已弃用 strftime 或只是 PHP?
我有一个 shell 脚本(准确地说是 zsh),它使用
strftime "%I:%M %p %Z (%a, %b %d)" "$EPOCHSECONDS"
生成“当前时间”,例如
“02:45 PM CST(周四,3 月 1 日)”
这需要能够显示几个不同的美国时区的时间,所以我一直在使用“美国/东部”、“美国/中部”和“美国/太平洋”,如下所示:
这似乎工作得很好,我更喜欢使用 TZ='America/CityName' 因为它不需要我知道哪个城市在哪个 TZ,我只需要告诉它我想要哪个 TZ。
但是,我偶然发现了http://www.php.net/manual/en/timezones.others.php并看到它说
请不要使用此处列出的任何时区(UTC 除外),它们仅出于向后兼容的原因而存在。
我不知道美国/地区名称有什么问题,但我很想知道在可预见的将来使用它们是否可能会导致问题,或者它们仍然可以安全使用?只是 PHP 不喜欢它们,还是每个人都远离它们?
bash - 检查给定的 strftime 格式是否与日期匹配
我有 strftime 格式的时间,比如说(%Y-%m-%d %H:%M:%S)
和一个应该包含这种数据的文件,例如(2012-02-11 17:15:00)
. 我需要检查给定的模式是否真的与数据匹配。如何解决这个问题?啊,约会?
编辑: 更多信息:用户输入 strftime 格式,比如说输入。然后他输入一个应该包含这些日期的文件。我需要确保这些数据是有效的(他没有犯错)。所以我需要检查输入文件中的行,看看是否有与给定模式匹配的数据。例子:
用户输入 strftime 格式:
(%Y-%m-%d %H:%M:%S)
输入文件:
(2012-02-11 17:15:00) long sentence
有效的
用户输入 strftime 格式:
Date[%Y.%m.%d %H:%M:%S]
输入文件:
Date-2012.02.11 17:15:00- long sentence
无效的
python - 在 1900 年之前的年份使用 datetime.strftime()?("要求年份 >= 1900")
我用了 :
utctime = datetime.datetime(1601,1,1) + datetime.timedelta(microseconds = tup[5])
last_visit_time = "Last visit time:"+ utctime.strftime('%Y-%m-%d %H:%M:%S')
但是我的时间是1601,所以报错显示:
ValueError: year=1601 is before 1900; the datetime strftime() methods require year >= 1900
我用的是python2.7,怎么弄?非常感谢!
c - stat() 返回错误
我必须知道文件夹中某些文件的修改日期。它有效,但不适用于所有类型的文件。例如,它适用于 .c、.txt,但不适用于其他类型,如 .mp4、.jpg 和 .mp3(我正在创建的应用程序通常必须适用于多媒体文件)。它打印“无法显示时间。”,所以我想问题出在 stat() 上。谢谢。
这是代码:
php - php setlocale 阿拉伯语 strftime
我已经在我的服务器上运行了locale -a并且可以看到它安装了阿拉伯语语言环境设置:
- ar_AE
- ar_AE.iso88596
- ar_AE.utf8
但是,如果我通过以下方式设置语言环境:
并输出它:
显示的日期是英文,而不是阿拉伯文。
阿拉伯语是唯一不适用的语言:我正在使用的网站有 15 种语言,所有其他语言都显示翻译日期。
怎么了?
ruby-on-rails - nil 的未定义方法“strftime”:NilClass 当值不是 nil 时
我在 Rails 中显示时间时遇到了一个奇怪的错误
显示完整的时间戳字符串。“2010-09-02 18:00:00 -0500”
显示我提供了 (0 of 1) 个参数的预期错误。再次,预期。
显示错误“nil:NilClass 的未定义方法 'strftime'”。
所以我的 e["start_time"] 字段被填充,但我无法弄清楚为什么指定 strftime() 想要的参数会导致 Nil 值。
c++ - 时间不匹配
当我运行此代码时,我得到以下输出:
令我困惑的是,持续时间值与开始和结束时间不匹配。这两个日期仅相差微秒。是否有一个原因?
谢谢!
android - 如何在 SQLite 中使用“strftime”(适用于 Android 应用)
我有一个带有两个表的数据库,每个表都有一个带有日期的列。我使用 strftime 来获取一整月或一整年的行。这些是 DatabaseHelper 类中的方法:
问题是years方法工作正常,但几个月看起来可以正常工作一段时间但是当我将新行保存到表(在本例中为table_week)与前几个月甚至前几年的日期时,它做奇怪的事情。我自己解释一下:
想象有 3 行的日期从 5 月开始,3 行的日期从 6 月开始......直到一切正常......现在我保存了一个新的行,日期是去年的 4 月、2 月或 12 月...... 1 . 它可以正常工作 2. 它可以在列表中显示月份,但单击时无法访问其余信息(不太可能发生几次) 3. 显示正确的月份但年份为 0 和4.显示错误的月份但年份是正确的(这通常发生在保存2011年的日期时,显示2011年但月份总是一月......)
我无法弄清楚这一点,但我确信这个月是问题所在,因为年份列表工作正常......任何帮助将不胜感激,非常感谢你提前
c - 使用 strftime() 获取 UTC 时间戳
我正在尝试使用以下strftime
函数将当前 utc 时间编码为字符串:
到目前为止一切顺利:nowLocal
包含我的时区 (CET) 中的当前时间,nowUtc
包含 utc 时间,差异完全tm_gmtoff
取决于值:
然后我strftime()
用"%s"
格式调用以获取自纪元以来的秒数:
结果对我来说似乎很奇怪。strftime()
我希望从两个调用中得到完全相同的字符串,因为%s
格式描述为:
自纪元以来的秒数,即自1970-01-01 00:00:00 UTC
. 除非闰秒支持可用,否则闰秒不计算在内。
但我得到了两个不同的值:
而且区别不是7200 ( tm_gmtoff
) 而是3600。谁能解释这种行为?或者它是一个错误?
我这样做的原因是我需要通过网络传输时间值,并将其与目标机器上可能处于不同时区的当前时间进行比较。在目标机器上我想:
但我得到了:
所以无论如何都要根据当前时区strptime()
设置。tm_zone
但即使我会使用timelocal()
而不是timegm()
我不会得到正确的值,因为它应该是11:27:28 CEST而不是12:27:28 CEST。这个错误是否与不同的结果有关strftime()
?
对后面的部分有任何评论吗?
c++ - Formatting mtime from stat(system call)
So I'm writing a program to mimic the "find" command in linux. I have everything taken care of, but I cannot figure out how to format the string from ctime, mtime and atime.
I know the arguments are struct time_t, but I can't find to convert it to a formatable string.
Part of what I have is below. it won't work due to the error " error: cannot convert '__time_t' to 'const tm' for argument '4' to 'size_t strftime(char*, size_t, const char*, const tm*)'
Ideally, I want something like this:
where sb is the stat struct. It should print in the format: HH:MM:SS-MM/DD/YY
I'm sure the answer is something simple, but I cannot figure it out.