我得到了一个可爱的 盒子,应该显示西班牙语字符.(即:ñ,á等).我已经确定我的meta http-equiv设置为utf-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)
我还确保页面标题也设置为utf-8:
header('Content-type: text/html; charset=UTF-8');
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我的代码的开始阶段:
<?php
setlocale(LC_ALL, 'es_MX');
$datetime = strtotime($event['datetime']);
$date = date("M j, Y", $datetime);
$day = strftime("%A", $datetime);
$time = date("g:i", $datetime);
?>
<a href="/<?= $event['request'] ?>.html"><?= $day ?> <?= $time ?></a>
Run Code Online (Sandbox Code Playgroud)
上面的代码在where语句中.我已经读过在数据库中切换排序也可能是一个因素,但我已经将它设置为UTF-8 General ci.另外,该列中唯一的东西是DateTime,无论如何都是数字,无论如何都无法进行整理.
结果:s bado8:00
一如既往地非常感谢任何帮助.
通过剖析,我发现这里的sprintf需要很长时间.是否有更好的替代方案仍然处理y/m/dh/m/s字段中的前导零?
SYSTEMTIME sysTime;
GetLocalTime( &sysTime );
char buf[80];
for (int i = 0; i < 100000; i++)
{
sprintf(buf, "%4d-%02d-%02d %02d:%02d:%02d",
sysTime.wYear, sysTime.wMonth, sysTime.wDay,
sysTime.wHour, sysTime.wMinute, sysTime.wSecond);
}
Run Code Online (Sandbox Code Playgroud)
注意:OP在评论中解释说这是一个精简的例子."真实"循环包含使用来自数据库的不同时间值的附加代码.分析已经确定sprintf()为罪犯.
我正在尝试创建将根据某种模式过滤输入文件的AWK脚本,并使用strftime()函数进行一些计算.
($2 ~ /^[HB]/ && $2 ~ /n$/){
print strftime("%Y")
}
Run Code Online (Sandbox Code Playgroud)
使用的翻译是mawk.使用此命令触发此脚本时:
awk -f script3 inputFile
Run Code Online (Sandbox Code Playgroud)
我收到错误:"函数strftime从未定义"
我有一个使用的shell脚本(准确地说是zsh)
strftime "%I:%M %p %Z (%a, %b %d)" "$EPOCHSECONDS"
生成"当前时间",如
"美国中部时间02:45(周四,3月1日)"
这需要能够在几个不同的美国时区显示时间,所以我一直在使用"US/Eastern","US/Central"和"US/Pacific",如下所示:
export TZ='US/Eastern'
strftime "%I:%M %p %Z (%a, %b %d)" "$EPOCHSECONDS"
Run Code Online (Sandbox Code Playgroud)
这似乎工作得很好,我更喜欢使用TZ ='America/CityName'因为它不需要我知道哪个城市在哪个TZ,我只需要告诉它我想要哪个TZ.
但是,我遇到了http://www.php.net/manual/en/timezones.others.php并看到它说
请不要使用此处列出的任何时区(除了UTC),它们仅出于向后兼容的原因而存在.
我不知道美国/地区名称的问题是什么,但我很想知道在可预见的将来使用它们是否可能导致问题,或者它们是否仍然可以安全使用?它只是PHP不喜欢它们,还是每个人都离开它们?
我转换了SQLite线
WHERE strftime('%d%m', orders.created_at) = .......
Run Code Online (Sandbox Code Playgroud)
直接到MySQL怪物:
WHERE CONCAT(CAST(DAY(orders.created_at) AS CHAR), LPAD(CAST(MONTH(orders.created_at) AS CHAR), 2, '0')) = .........
Run Code Online (Sandbox Code Playgroud)
请帮我把它重写一个更短的.
我的日期时间是我从文本文件中读取的字符串.我想减少额外的毫秒数,但我想首先将它转换为日期时间变量.这是因为它可能采用不同的格式,具体取决于文本文件中的内容.然而,我所尝试的一切都希望我已经知道格式.请看看我在这里尝试的内容:
import time, datetime
mytime = "2015-02-16 10:36:41.387000"
myTime = time.strptime(mytime, "%Y-%m-%d %H:%M:%S.%f")
myFormat = "%Y-%m-%d %H:%M:%S"
print datetime.datetime.fromtimestamp(time.mktime(time.strptime(mytime, myFormat)))
Run Code Online (Sandbox Code Playgroud)
但这给了我这个错误:
File "python", line 10, in <module>
ValueError: unconverted data remains: .387000`
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何做一个正常的日期时间格式?在其他语言中,我可以传递各种格式,然后将其设置为新格式而不会出现问题.
在我的应用程序中,我发现自己经常使用stftime,并且主要使用2种字符串格式 - ("%d /%m /%Y")和("%H:%M")
我不是每次都写字符串,而是希望将这些字符串存储在某些全局变量或其他内容中,因此我可以在我的应用中的一个位置定义格式字符串.
什么是pythonic方式呢?我应该使用全局字典,类,函数还是其他东西?
也许是这样的?
class TimeFormats():
def __init__(self):
self.date = "%d/%m/%Y"
self.time = "%H:%M"
Run Code Online (Sandbox Code Playgroud)
或者像这样?
def hourFormat(item):
return item.strftime("%H:%M")
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
是否有任何标准(C,C++,POSIX,Linux ...)strftime可供选择
strftime如果缓冲区大小小于完全输出所需的,则截断输出(而不是像数据中那样保留数组内容).例如,snprintf接受strftime格式字符串的日期/时间格式的类似语义可以完美地完成.
像std::put_timeC++ 11和更高版本中的函数不是一个选项,因为它们可能会尝试动态分配额外的内存并可能抛出异常.
我遇到了一个有趣的性能难题,但在我开始深入研究glibc并在左右中心输入错误之前,我只想获得可能存在的任何洞察力.
我有一个代码,在其中一个函数中执行此操作:
gettimeofday( &tv, 0);
localtime_r( &tv.tv_sec, &local_tm );
char result[25];
strftime( result, 24, "%Y-%m-%d %H:%M:%S", &local_tm);
Run Code Online (Sandbox Code Playgroud)
其余代码与此问题无关.当我用这个替换它:
gettimeofday( &tv, 0);
localtime_r( &tv.tv_sec, &local_tm );
char result[25];
snprintf(result, sizeof(result), "%04d-%02d-%02d %02d:%02d:%02d",
local_tm.tm_year+1900, local_tm.tm_mon+1,
local_tm.tm_mday, local_tm.tm_hour, local_tm.tm_min,
local_tm.tm_sec);
Run Code Online (Sandbox Code Playgroud)
平均而言,我的性能提升了20%.
有没有人碰到这个?这个操作系统特定吗?
我收到了错误
undefined方法`strftime'代表"2013-03-06":String
尝试使用strftime从字符串2013-03-06正常显示日期(2013年6月3日星期日或类似的东西).
在我的index.html.erb中执行此操作的行看起来像这样
<td><%= task.duedate.strftime("%B %e, %Y") %></td>
我只是在学习Rails所以我确信它只是一个愚蠢的初学者错误,任何帮助将不胜感激.谢谢