我试图用strftime打印德语日期.我已经试过了
date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE", "de_DE@euro", "deu", "deu_deu", "german");
$time = strftime("%B", 1323956220);
echo $time; //I want to see "Dezember", but I see "December" instead
Run Code Online (Sandbox Code Playgroud)
但它没有用.我错过了什么吗?
编辑:抱歉,我错过了strftime功能:P
您好,我在我的数据库中插入了一些日期。
当我YYY-MM-DD执行查询时,当我以另一个表中的格式使用 sqlite3时
SELECT *
FROM SDay
WHERE strftime('%Y-%m-%d', date)>=strftime('%Y-%m-%d','2013-02-21')
AND strftime('%Y-%m-%d', date)<strftime('%Y-%m-%d','2013-09-15')
Run Code Online (Sandbox Code Playgroud)
它工作得很好。
另一方面,当我YYY-MM在另一个表中使用格式时
SELECT *
FROM SMonth
WHERE strftime('%Y-%m', date)>=strftime('%Y-%m','2013-02')
AND strftime('%Y-%m', date)<strftime('%Y-%m','2013-09')
Run Code Online (Sandbox Code Playgroud)
不会工作。为什么会发生,我该如何解决?
谢谢你。
我有以下Time对象:
[8] pry(#<#<Class:0x007f928f12f560>>)> display_num
=> 2015-02-19 09:00:00 -0600
[9] pry(#<#<Class:0x007f928f12f560>>)> display_num.is_a?(Time)
=> true
[10] pry(#<#<Class:0x007f928f12f560>>)> display_num.is_a?(DateTime)
=> false
[11] pry(#<#<Class:0x007f928f12f560>>)> display_num.strftime("%l:%M%P %Z")
=> " 9:00am "
[12] pry(#<#<Class:0x007f928f12f560>>)> display_num.strftime("%l:%M%P %z")
=> " 9:00am -0600"
Run Code Online (Sandbox Code Playgroud)
我完全被这样难过:
[16] pry(#<#<Class:0x007f928f12f560>>)> Time.new
=> 2015-02-02 14:09:13 -0800
[17] pry(#<#<Class:0x007f928f12f560>>)> t = Time.new
=> 2015-02-02 14:09:25 -0800
[18] pry(#<#<Class:0x007f928f12f560>>)> t.strftime("%l:%M%P %Z")
=> " 2:09pm PST"
Run Code Online (Sandbox Code Playgroud)
工作得很好.
上面的块中发生了什么,以防止时区以人类可读的格式显示?
我尝试在Mosquitto Broker上发送数据并在SQLite上添加相同的数据,这是我的脚本:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sqlite3
import logging
class Photos:
def __init__(self):
#Connection a la basse de donnees sqlite3
self.db = sqlite3.connect('/home/pi/FlowerPower.db')
#Preparation d'un objet cursor qui va executer les futures requetes SQL sur la base de donnees
self.cursor = self.db.cursor()
logging.basicConfig(filename='subscribeFP.log',level=logging.DEBUG, format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
def traitement(self, msg, numSonde):
try:
#Convertit le message poste par le publisher de byte a string
queryArgs = str(msg.payload)
#Variable nom de la sonde
nomSonde = str(numSonde[2])
#Prepare la …Run Code Online (Sandbox Code Playgroud) 我已经在 SO 上查看了this和this,但它们处理的是同一问题的非 C 变体。
使用带有以下代码的 GNU GCC 编译器(Code::Blocks,在 Windows 中):
int main(void)
{
time_t rawtime;
struct tm *info;
char timeStr[80];
time( &rawtime );
info = localtime( &rawtime );
strftime(timeStr,80,"%a %b %d %H:%M:%S %Z %Y", info);
printf("%s", timeStr);
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到这个时间字符串:
2016 年 8 月 30 日星期二 14:55:08 太平洋夏令时
除了时区,一切都很好。我更喜欢缩写,例如:
2016 年 8 月 30 日星期二 14:55:08 PDT
在strftime() 的每个手册页或 Windows 文档中,我都可以找到格式说明符 %Z 的描述,例如: Timezone name or abbreviation。(例如。这里。)
将时区格式化为缩写的技巧是什么?
我在减去日期列的一部分时遇到问题。我的目标是建立一个群组分析表。为了实现这一点,我想在我的 Pandas 数据框中获取任何客户的订购月份。
OrderDate ConsumerId Orders
0 2017-09-01 5555555 4
1 2017-09-01 66666666666 2
2 2017-09-01 88888888888 4
3 2017-09-01 9999999999 3
4 2017-09-01 45858888 3
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码来做到这一点。
import pandas as pd
pd.set_option('max_columns', 50)
mpl.rcParams['lines.linewidth'] = 2
df = pd.read_csv("C:/Users/***/****/salesdata.csv")
df.head()
df['OrderPeriod'] = df.OrderDate.apply(lambda x: x.strftime('%Y-%m'))
Run Code Online (Sandbox Code Playgroud)
Unfurtantely 我在尝试减去订购月份时收到以下错误。
df['OrderPeriod'] = df.OrderDate.apply(lambda x: x.strftime('%Y-%m'))
AttributeError: 'str' object has no attribute 'strftime'
Run Code Online (Sandbox Code Playgroud)
我的熊猫数据框如下所示:
OrderDate ConsumerId Orders
0 2017-09-01 5555555 4
1 2017-09-01 66666666666 2
2 2017-09-01 88888888888 4
3 2017-09-01 9999999999 3
4 …Run Code Online (Sandbox Code Playgroud) 我正在使用在数据帧中转换为字符串(年)的datetime值.我想使用in运算符检查我的dataframe.year_as_string列中是否存在给定年份.但是,我的表达式意外地计算为False(请参阅第二个print语句).为什么会这样?
注意:我可以用更简单的方式解决我的问题(如在第3个print语句中),但我真的很好奇为什么第二个语句的计算结果为False.
import pandas as pd
ind = pd.to_datetime(['2013-12-31', '2014-12-31'])
df = pd.DataFrame([1, 2], index=ind)
df = df.reset_index()
df.columns = ['year', 'value']
df['year_as_string'] = df.year.dt.strftime('%Y')
# 1. the string '2013' is equal to the first element of the list
print('2013' == df['year_as_string'][0])
# 2. but that same string is not 'in' the list?! Why does this evaluate to False?
print('2013' in df['year_as_string'])
# 3. I further saw that strftiming the DatetimeIndex itself does evaluate as I would expect …Run Code Online (Sandbox Code Playgroud) 我想从日期(其中WW是周数)构造YYYY_WW信息。我正在为年份的结局(开头)而苦苦挣扎,其中一周的一部分可能会落入下一年:
import datetime
import pandas as pd
# generate range of dates and extract YYYY_WW
dates_range = pd.date_range(start='2018-12-29', end='2019-01-02')
weeks = dates_range.strftime("%Y_%V")
print(weeks)
#Index(['2018_52', '2018_52', '2018_01', '2019_01', '2019_01'], dtype='object')
Run Code Online (Sandbox Code Playgroud)
2018_01显然是不正确的。有任何简单解决方法的提示吗?
我正在使用Python。我的时间格式是这样的
2020-05-23T06:35:11.418279Z #May 23, 2020 at 12:05:11 PM GMT+05:30
Run Code Online (Sandbox Code Playgroud)
我想转换成人类可读的时间,比如
23-05-2020 12:05 PM
Run Code Online (Sandbox Code Playgroud)
我也尝试过解析器。但没有效果。
谁能帮我这个?
提前致谢 :)
我希望在我的页面上以这种格式显示当前日期:22/02/2013 - 12:00(日/月/年 - 小时)
我使用strftime("%d/%b/%G - %R", time())但在页面上没有显示任何内容.如果我做
echo var_dump(strftime("%d/%b/%G - %R", time()))
Run Code Online (Sandbox Code Playgroud)
它显示bool(false).知道我做错了什么?