标签: strftime

使用strftime返回00获取01-01-2011的一周

$w = strftime("%W",mktime(0,0,0,1,1,2011));    
echo $w;
Run Code Online (Sandbox Code Playgroud)

返回"00"

为什么?

php strftime

2
推荐指数
1
解决办法
185
查看次数

为什么我的strftime()方法的年份没有输出我期望的

我试图以我想要的格式将日期转换为时间,并且它会产生意外的输出.

struct tm dateTime = {0};
char buffer[80]= {0};

dateTime.tm_year = 2014;

dateTime.tm_mon = 4;
dateTime.tm_mday =17;

strftime(buffer, _countof(buffer), "%d-%b-%Y", &dateTime);
Run Code Online (Sandbox Code Playgroud)
  • 我希望看到,17-May-2014但我看到了17-May-3914.

  • 我觉得我可能会遗漏一些东西,但我无法弄清楚是什么.有任何想法吗?

c++ strftime c++11

2
推荐指数
1
解决办法
129
查看次数

localtime_s 和 strftime 用法构建 ISO 时间字符串

I\xc2\xb4ve 编写了以下函数,该函数接收时间点并返回带毫秒的 ISO 字符串:

\n\n
std::string TimePointToISOString(const std::chrono::time_point<std::chrono::system_clock>& time)\n    {\n        std::time_t rawTime = std::chrono::system_clock::to_time_t(time);\n        struct tm timeinfo;\n        localtime_s(&timeinfo, &rawTime);\n\n        std::chrono::milliseconds ms = std::chrono::duration_cast<std::chrono::milliseconds>(time.time_since_epoch());\n        std::size_t frac_seconds = ms.count() % 1000;\n\n        char buffer[32];\n        std::strftime(buffer, 32, "%FT%TZ", &timeinfo);\n\n        std::string bufferStr(buffer);\n        std::stringstream ss;\n        ss << bufferStr.substr(0, 19) << "." << std::setw(3) << std::setfill (\'0\') << frac_seconds << bufferStr.substr(20);\n\n        return ss.str();\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

我\xc2\xb4ve曾经在Linux上运行它,其localtime()功能完全没有问题。现在我正在迁移到 Windows/VS2012,编译器建议更改localtime()为更安全的版本localtime_s(),立即完成。

\n\n

转换后,strftime调用在运行时崩溃并出现以下错误:

\n\n
Expression: ("Invalid format directive", 0)\n
Run Code Online (Sandbox Code Playgroud)\n\n

编译运行良好。感谢帮助找出\xc2\xb4s 这里发生了什么。我想有些简单的事情我可以\xc2\xb4t注意到......

\n

c++ strftime localtime c++11 c++-chrono

2
推荐指数
1
解决办法
2423
查看次数

Python 日期时间 工作日 strftime() 与 weekday()

有一个 pandas 数据框 df,为了从日期列中获取工作日,我做了:

df_raw['DayOfWeek'] = df_raw[str_date_colname].dt.strftime('%w')
Run Code Online (Sandbox Code Playgroud)

它以十进制数形式返回工作日,其中 0 表示星期日,6 表示星期六。但是,我想得到 0 是星期一,6 是星期日。所以我做了:

df_raw['DayOfWeek'] = df_raw[str_date_colname].dt.weekday()
Run Code Online (Sandbox Code Playgroud)

但它返回:'Series' object is not callable

我可以知道为什么吗?我认为 和strftime()weekday()可以在日期时间对象中调用:https ://docs.python.org/2/library/datetime.html

python datetime strftime weekday dataframe

2
推荐指数
1
解决办法
2572
查看次数

Git 日志:“未知的日期格式”

这是我正在运行的命令及其错误:

# git log --pretty=format:"%ad" --date=format-local:"%y-%m-%d %k:%M"
fatal: unknown date format format-local:%y-%m-%d %k:%M
Run Code Online (Sandbox Code Playgroud)

相同的命令在其他机器上运行良好。我在 ubuntu docker 容器中遇到了这个错误。其他格式抛出相同的错误:

# git log --pretty=format:"%ad" --date=format-local:"%M"
fatal: unknown date format format-local:%M
# git log --pretty=format:"%ad" --date=format-local:"%m"
fatal: unknown date format format-local:%m
# git log --pretty=format:"%ad" --date=format:"%m"
fatal: unknown date format format:%m
Run Code Online (Sandbox Code Playgroud)

似乎我缺少一个不属于 docker 映像的日期格式依赖项。

编辑:我正在使用 git 版本 1.9.1。

git strftime git-log docker

2
推荐指数
1
解决办法
2886
查看次数

如何使用 python strptime 和 strftime 将 2017-02-09T09:43:04.216+1000 等日期时间格式转换为 09-Feb-2017?

我有一些从 JIRA API 动态输入的创建和更新的日期时间,用于自动化过程,使用 python 脚本每月获取 JIRA 票证加载到 Excel 工作表中。

一些样本日期如下:

  1. 2017-02-09T09:33:33.508+1100
  2. 2017-05-19T13:59:36.735+1000

我想以 %d-%b-%Y 之类的格式呈现(例如:2017 年 2 月 9 日)

我尝试过使用 pythondatetime.strptimestrftime.

示例代码如下:

from datetime import datetime

datetimeObj = datetime.strptime('2017-02-09T09:43:04.216+1000', '%Y-%m-%dT%H:%M:%S.%f+1000')

print(datetimeObj.strftime('%d-%b-%Y'))
Run Code Online (Sandbox Code Playgroud)

这给了我预期的结果,但现在我已经硬编码了我想要的日期等值以及我添加的日期时间格式,+1000但由于它动态更改日期时间,当日期时间以诸如+1100.

我相信最后一部分与夏令时有关,但在这种情况下我无法找到正确的格式。

无论如何,有没有办法转换最后+1000一个+1100部分的日期时间格式,而不是像'%Y-%m-%dT%H:%M:%S.%f+1000'这样进行硬编码?

python datetime strftime strptime

2
推荐指数
1
解决办法
2000
查看次数

如何修复 Perl 脚本中 strftime 中的使用错误

我正在编写 Perl 脚本 signature.pl 来构建 PDF 字典和签名字典对象 这在变量中声明了 PEM 和 PDF。我已经将 POSIX 用于 strftime

use strict;
use warnings;
use PDF::API2;
use PDF::API2::Basic::PDF::Utils;
use File::Slurp;
use POSIX;

use Crypt::OpenSSL::RSA;
use Crypt::OpenSSL::X509 qw/FORMAT_UNDEF FORMAT_ASN1 FORMAT_TEXT FORMAT_PEM/;
use Digest::SHA1 qw(sha1 sha1_hex);

my $add_mdp = 0;
my $input_filename = "signature.pdf";
my $tempfilename   = 'tmp.pdf';
my $outfilename    = 'tmp.pdf';

my $sig_algorithm  = 'pkcs7';
my $sig_length     = 20480;

my $cacert_filename   = "signature.pem";
my $x509_filename     = "signature.pem";
my $priv_key_filename = "signature.pem";

my $cacert   = Crypt::OpenSSL::X509->new_from_file($cacert_filename);
my $x509 …
Run Code Online (Sandbox Code Playgroud)

pdf perl strftime

2
推荐指数
1
解决办法
380
查看次数

ffmpeg strftime 对 Windows 没有影响

我正在尝试使用 ffmpeg 自动标记输出文件的时间戳。这是我的测试命令:

.\ffmpeg.exe -y -loglevel 99 -i test.mp3 -strftime 1 %Y.ogg
Run Code Online (Sandbox Code Playgroud)

我期望一个名为 的文件2020.ogg,但只得到了%Y.ogg. 换句话说,输出文件名不被strftime(). 我使用的是powershell,所以应该与cmd的%%转义没有关系。

这是输出:https: //pastebin.com/LUVh2kFA我正在使用https://ffmpeg.zeranoe.com的静态构建(感谢 Zeranoe!)我确认 v4.2.2 和 git-20200515 中存在问题。有机会修复它还是我做错了?

ffmpeg strftime

2
推荐指数
1
解决办法
2035
查看次数

Ruby strftime:如果为零则不显示分钟

我正在尝试实现这种风格的输出:

Time.new(2021,9,19,6,0,0) => "6am"
Time.new(2021,9,19,6,30,0) => "6:30am"
Run Code Online (Sandbox Code Playgroud)

我得到的最接近的是strftime('%l:%-M%P')

Time.new(2021,9,19,6,0,0).strftime('%-l:%-M%P') => "6:0am"
Time.new(2021,9,19,6,30,0).strftime('%-l:%-M%P') => "6:30am"
Run Code Online (Sandbox Code Playgroud)

是否有已知的方法来抑制%M%-M当为零时,或者我需要在这里做我自己的事情?

ruby strftime

2
推荐指数
1
解决办法
165
查看次数

在ruby的strftime中,为什么%P是"am/pm"而%p是"AM/PM"

是不是更混乱?不应该是相反的方式,所以它更容易记住?

ruby datetime strftime

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

标签 统计

strftime ×10

datetime ×3

c++ ×2

c++11 ×2

python ×2

ruby ×2

c++-chrono ×1

dataframe ×1

docker ×1

ffmpeg ×1

git ×1

git-log ×1

localtime ×1

pdf ×1

perl ×1

php ×1

strptime ×1

weekday ×1