是否可以使用Rails text_field助手将strftime格式应用于文本输入字段的值?在我用于创建或编辑记录的表单中,我有一个文本输入字段,该字段由calendardateselect javascript的变体填充.我单击文本字段,弹出一个小日历.选择年,月,日和时间后,日历会消失,文本输入中剩下的内容是日期的文本表示.如果我去编辑记录,那就是我所看到的.
我想修改日期在文本输入字段中的显示方式.在显示该日期的其他模板中,我可以使用strftime,但我不知道如何(或者甚至可能)格式化文本输入字段的值.
谢谢.
史蒂夫
我想把昨天的日期变成一个格式的字符:YYYYMMDD(没有斜点等).
我使用此代码来获取今天的日期:
time_t now;
struct tm *ts;
char yearchar[80];
now = time(NULL);
ts = localtime(&now);
strftime(yearchar, sizeof(yearchar), "%Y%m%d", ts);
Run Code Online (Sandbox Code Playgroud)
我将如何调整此代码,以便生成昨天的日期而不是今天的日期?
非常感谢.
以下是一些输出:
Date.today => Mon, 25 Jun 2012
Date.today.to_formatted_s(:long_ordinal) => "June 25th, 2012"
Date.today.strftime('%A %d, %B') => "Monday 25, June"
Run Code Online (Sandbox Code Playgroud)
现在我需要输出格式,即:
Monday 25th, June or Thrusday, 1st, October
Run Code Online (Sandbox Code Playgroud)
问题是to_formatted_s和strftime仅适用于日期和两者或它们返回字符串.如何以我需要的方式获得输出.
我有$date = $run['at'];这给了我2013-06-03T16:52:24Z(从JSON输入).要改造它以获得例如" d MY,H:i "我使用
$date = new DateTime($run['at']);
echo $date->format('d M Y, H:i');
Run Code Online (Sandbox Code Playgroud)
问题是我需要意大利语的日期.而唯一支持的功能set_locale是strftime.我如何"包装" DateTime::format与strftime(或更换,说不上来)?
在我的perl程序中使用use POSIX qw( strftime );库来执行unixtimestamp到日期转换,如下所示,
my $dt = strftime("%m/%d/%y", localtime($fields[0]));
Run Code Online (Sandbox Code Playgroud)
转换正在按预期发生,但我收到以下错误.
Prototype mismatch: sub main::strftime ($\@;$) vs none at
/usr/lib/perl5/5.8.5/Exporter.pm line 67.
at /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/POSIX.pm line 19
Run Code Online (Sandbox Code Playgroud)
谁有人指导我是什么原因以及如何摆脱它?
我正在尝试使用格式为的日期字符串:
YYYY-MM-DDTHH:MM:SS
用于生成此字符串的strftime格式为%FT%T:
perl -MPOSIX=strftime -E 'say strftime q{%FT%T}, localtime;'
Run Code Online (Sandbox Code Playgroud)
但是当我尝试用Time :: Piece解析这个日期字符串时:
perl -MPOSIX=strftime -MTime::Piece -E '
say strftime q{%FT%T}, localtime;
Time::Piece->strptime( strftime(q{%FT%T}, localtime), q{%FT%T});
'
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
2013-11-15T17:32:58 Error parsing time at /usr/local/lib/perl/5.14.2/Time/Piece.pm line 469.
或者如果我试试这个:
perl -MPOSIX=strftime -MTime::Piece -E 'Time::Piece->strptime(strftime(q{%F}, localtime), q{%F});'
Run Code Online (Sandbox Code Playgroud)
我懂了:
garbage at end of string in strptime: 2013-11-15 at /usr/local/lib/perl/5.14.2/Time/Piece.pm line 469.
在man中说%F是strptime和strftime的ISO8601日期格式.strptime向后兼容strftime吗?
我从 strftime 创建了两个值,如下所示
TIMEFORMAT="%Y-%m-%d %H:%M:%S"
time1 = time.strftime(TIMEFORMAT)
time2 = time.strftime(TIMEFORMAT)
Run Code Online (Sandbox Code Playgroud)
现在 time1 和 time 2 的值就像 "2013-11-22 04:03:56" "2013-11-22 01:03:56"
这些值由其他脚本写入文件。我正在从文件中读取这些值,然后进行比较。
我想比较这样的东西
if time1 > time2:
# do etc. etc.
Run Code Online (Sandbox Code Playgroud)
如何比较这些时间?
我正在尝试将我的第二段代码的输出设为荷兰语。第一个代码给出了正确的输出,但是是英文的。我试图用荷兰语获得它,但通常我最终得到的是 01-01-1970、12-12-2015 或什么都没有。代码应该在本周的下周五给出,除非是过去的周一,否则下周就是周五。
我的工作代码是英文的。
<?php
$d = strtotime('today');
switch ($d) {
case strtotime('monday'):
case strtotime('friday'):
case strtotime('saturday'):
case strtotime('sunday'):
$ff = strtotime('next friday');
$ffn = date('l d M', $ff);
echo $ffn;
break;
case strtotime('tuesday'):
case strtotime('wednesday'):
case strtotime('thursday'):
$ff = strtotime('next friday' . '+ 7days');
$fft = date('l d M', $ff);
echo $fft;
break;
default:
echo "Something went wrong";
}
?>
Run Code Online (Sandbox Code Playgroud)
我的代码给出了荷兰语输出,但日期错误(它给出了今天的日期,而不是下周五/下周周五。)
顺便说一句,这是我在这里问的第一个问题,所以我可能有点含糊不清;)
我想使用函数strftime()from <ctime> 来打印ISO 8601 UTC格式的时间,例如2016-01-12T10:37:20Z.
根据标准cplusplus,格式字符串%FT%TZ生成相同"%Y-%m-%dT%H:%M:%SZ",但Visual Studio 2010不知道格式说明符%F和%T.这是为什么?他们似乎已经忘记了他们?!
我的日期格式11122020 在 pandas 列中采用格式(ddmmyyyy)。
我用
datapdf["wholetime"]=pd.to_datetime(datapdf["wholetime"],format='%d%m%Y)
Run Code Online (Sandbox Code Playgroud)
转换为时间并按时间进行处理。
最近我的代码在日期 3122020 上失败了
ValueError: day is out of range for month
Run Code Online (Sandbox Code Playgroud)
python 解释为 31 2 2020 而不是 3 12 2020 导致错误。有人对此有解决方案吗?