【问题标题】:Syntax Error <expression Line 1>语法错误 <表达式第 1 行>
【发布时间】:2018-04-16 23:47:51
【问题描述】:

我正在尝试将字符串格式的日期 (13/06/2017) 转换为 2007 年 6 月 13 日的日期格式。我已经编写了代码,但我的第一行一直出现语法错误,即功能线的定义。

我的代码是这样的:

def printDate(date):
    import datetime
    newdate = datetime.strptime(date, %d/%m/%Y)
    d = newdate.strftime(%b %d, %Y)
return d

【问题讨论】:

  • 日期格式化程序是字符串,%d/%m/%Y 没有引号没有意义(你的语法错误)。
  • 糟糕,我的代码中有引号,当我输入问题时忽略了它们。是的,第一行仍然有语法错误。

标签: python-3.x syntax


【解决方案1】:

您没有将参数“日期格式”作为字符串传递,因此,请务必按如下方式导入日期时间模块:

from datetime import datetime
def printDate(date):
     newdate = datetime.strptime(date, "%d/%m/%Y")
     d = newdate.strftime("%B %d, %Y")
     return d

测试:

printDate("13/06/2017")
>> 'June 13, 2017'

【讨论】:

  • 如何将参数“日期格式”传递到字符串中?我是否在 def printDate(string(date)): 之类的参数前面写了字符串?感谢您的帮助!
  • 我说的是当你调用函数strptime和strftime时,你必须传递日期格式为“%d/%m/%Y”和“%B, %d, %Y”你看?带引号,我上面粘贴的代码应该可以正常工作..
  • 我在 ArcGIS 的字段计算器中输入了您的代码,但它仍然说我在第 1 行有语法错误。知道它是什么吗?
  • 错误 1:“处理过程中出现故障,请查看地理处理结果窗口了解更多详细信息”。在地理处理结果下:“错误 000539 语法错误:无效语法(,第 1 行)”
  • 我相信这是一个不同的问题,我对 ArcGIS 没有任何经验,我也不熟悉它应该如何与 python 一起运行,即使我完全确定我提供的代码,有效,请随时在 python 的控制台上尝试,请针对该特定问题打开另一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
相关资源
最近更新 更多