如何将以下日期字符串转换为dateTime:
Fri, 18 Dec 2009 9:38 am PST
Run Code Online (Sandbox Code Playgroud)
我试过了 DateTime.Parse(string)
我收到以下错误:
The string was not recognized as a valid DateTime. There is an unknown word starting at index 25. System.SystemException {System.FormatException}
Run Code Online (Sandbox Code Playgroud)
UPDATE
我试图从雅虎获得天气,我试图得到这样的日期:
Date = DateTime.Parse(feed.Element(yWeatherNS + "condition").Attribute("date").Value),
Run Code Online (Sandbox Code Playgroud)
我调试了它.date属性是正确的(如上所述).
谢谢.
2014-04-23T18:30:00.000Z需要在这个转换格式yyyy-MM-dd'T'hh:mm:sszzz在java中
我正在使用这个
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.zzzZ");
Date newfromDate = new Date();
try {
//Convert into date
newfromDate = (Date)formatter.parse(fromDate);
// get required Format of date in string format
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:sszzz");
} catch (ParseException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用
错误: - java.text.ParseException: Unparseable date: "2014-03-31T18:30:00.000Z"
我尝试了几种使用方法to_datetime,但到目前为止我只能将它作为"对象"返回dtype
pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),dayfirst=True)
Run Code Online (Sandbox Code Playgroud)
该命令的返回值为:
0 28Dec2013 19:23:15
dtype: object
Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其中列的名称是字符串形式的日期(年 - 月).如何以日期时间格式转换这些名称?我试过这样做:
new_cols = pd.to_datetime(df.columns)
df = df[new_cols]
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
KeyError: "DatetimeIndex(
['2000-01-01', '2000-02-01',
'2000-03-01', '2000-04-01',
'2000-05-01', '2000-06-01',
'2000-07-01', '2000-08-01',
'2000-09-01', '2000-10-01',
'2015-11-01', '2015-12-01',
'2016-01-01', '2016-02-01',
'2016-03-01', '2016-04-01',
'2016-05-01', '2016-06-01',
'2016-07-01', '2016-08-01'],
dtype='datetime64[ns]', length=200, freq=None) not in index"
Run Code Online (Sandbox Code Playgroud)
谢谢!
使用pd.to_dateime()传递'format ='参数可以加快处理速度,因为函数不必推断每行的格式.但是,使用'format ='参数不适用于AM/PM.以下代码:
pd.to_datetime('01/10/2017 10:15:17 PM',format = '%m/%d/%Y %H:%M:%S %p')
Run Code Online (Sandbox Code Playgroud)
得到:
时间戳('2017-01-10 10:15:17')
时间应该是22:15:17,因为原始时间有'PM'我的代码中是否存在错误或该功能是否存在问题.提前致谢!
我有一个 python pandas 数据框,它有一个如下所示的日期列:
'Birth Date'
0 22/04/73
1 22/03/53
2 22/04/73
3 14/08/77
4 08/05/50
Run Code Online (Sandbox Code Playgroud)
我想将此对象数据类型转换为日期格式,如下所示:04/06/1953...
我尝试转换为 datetime 数据类型,如下所示:
df['Birth Date']=pandas.to_datetime(df['Birth Date'],format='%d/%m/%y')
Run Code Online (Sandbox Code Playgroud)
但输出是这样的:
0 1973-04-22
1 2053-03-22
2 1973-04-22
3 1977-08-14
4 2050-05-08
Run Code Online (Sandbox Code Playgroud)
如何将 1953、1950 等作为年份而不是 2053、2050?
我正在阅读两种非常相似的 csv 文件。它们的长度大致相同,20 000 行。每条线代表每秒记录的参数。因此,第一列是时间戳。
在这两种情况下,命令是相同的:
data = pd.read_csv(file)
data['Timestamp'] = pd.to_datetime(data['Timestamp'])
Run Code Online (Sandbox Code Playgroud)
我检查两行的执行时间:
唯一的区别是日期模式。我不会怀疑。你知道为什么吗?你知道如何解决这个问题吗?
我正在尝试将日期时间对象转换为日期时间。在原始数据框中,数据类型是字符串,数据集的形状为 (28000000, 26)。重要的是,日期格式仅为 MMYYYY。这是一个数据示例:
DATE
Out[3] 0 081972
1 051967
2 101964
3 041975
4 071976
Run Code Online (Sandbox Code Playgroud)
我试过:
df['DATE'].apply(pd.to_datetime(format='%m%Y'))
Run Code Online (Sandbox Code Playgroud)
和
pd.to_datetime(df['DATE'],format='%m%Y')
Run Code Online (Sandbox Code Playgroud)
我两次都遇到运行时错误
然后
df['DATE'].apply(pd.to_datetime)
Run Code Online (Sandbox Code Playgroud)
它适用于其他未显示的列(采用 DDMMYYYY 格式),但使用 df['DATE'] 生成未来日期,因为它将日期读取为 MMDDYY 而不是 MMYYYY。
DATE
0 1972-08-19
1 2067-05-19
2 2064-10-19
3 1975-04-19
4 1976-07-19
Run Code Online (Sandbox Code Playgroud)
期望输出:
DATE
0 1972-08
1 1967-05
2 1964-10
3 1975-04
4 1976-07
Run Code Online (Sandbox Code Playgroud)
如果这个问题是重复的,请引导我到原来的问题,我找不到任何合适的答案。
预先感谢大家的帮助
我正在使用 jQuery 日历以如下形式输入日期
<div class="form-group">
<label>Valid From:</label>
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" tabindex="4" data-date-start-date="0d" class="form-
control pull-right datepicker" name="valid_from" id="datepicker2" value="
{{old('valid_from')}}">
</div>
@if ($errors->has('valid_from'))
<span class="has-error" style="color: red">
<strong>{{ $errors->first('valid_from') }}</strong>
</span>
@endif
</div>
Run Code Online (Sandbox Code Playgroud)
我从 form 中获取2018 年 9 月 3 日形式的值。
模型代码,我尝试用 mutator 转换它,但它对模型代码不起作用
use SoftDeletes;
protected $fillable =
['name','valid_from','valid_to','city_id','p_limit','is_active','type'];
protected $dates = [
// 'valid_from',
// 'valid_to',
'deleted_at'
];
// public function setDateOfBirthAttribute($dates)
// {
// $this->attributes['valid_from'] = Carbon::parse($dates); …Run Code Online (Sandbox Code Playgroud) 我必须收到一个字符串,表示通过time.strptime处理的日期,其格式类似于%d%m%Y,但事实是当日期数小于10时,那一天将显示为一位数数字,而不是%d格式所需的两位数.
这意味着
'8052012'
Run Code Online (Sandbox Code Playgroud)
将被转换为
day 08, month 05, year 2012
Run Code Online (Sandbox Code Playgroud)
但随着字符串
'2052012'
Run Code Online (Sandbox Code Playgroud)
strptime给了我
day 20, month 5, year 2012
Run Code Online (Sandbox Code Playgroud)
代替
day 2, month 5, year 2012
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个默认行为?(也许是为了强迫%m应该是一个2位数字,所以strptime将没有选择使用当天剩下的东西?)
编辑:请注意,在输入字符串上,月份总是有两位数,即使它可以用一个数字表示.这里的问题只是可以用一个或两个数字表示的那一天,具体取决于幅度......