从SQL检索日期时,如何将日期转换为字符串?

2024-03-28 17:48:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在word文档中显示日期。但是,代码出现以下异常(我想我需要把日期改成字符串

    d.add_run(date_implemented(Part_No_New_Part))
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\python_docx-0.8.7-py3.7.egg\docx\text\paragraph.py", line 37, in add_run
    run.text = text
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\python_docx-0.8.7-py3.7.egg\docx\text\run.py", line 163, in text
    self._r.text = text
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\python_docx-0.8.7-py3.7.egg\docx\oxml\text\run.py", line 104, in text
    _RunContentAppender.append_to_run_from_text(self, text)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\python_docx-0.8.7-py3.7.egg\docx\oxml\text\run.py", line 134, in append_to_run_from_text
    appender.add_text(text)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\python_docx-0.8.7-py3.7.egg\docx\oxml\text\run.py", line 142, in add_text
    self.add_char(char)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\python_docx-0.8.7-py3.7.egg\docx\oxml\text\run.py", line 156, in add_char
    elif char in '\r\n':
TypeError: 'in <string>' requires string as left operand, not datetime.datetime

复制关闭

我能够生成文档。但是,这是我的输出

实施日期:(datetime.datetime(2011,5,31,0,0),)

我希望我的输出是这样的:

实施日期:2015年5月31日


功能如下:

def date_implemented(Part_No_New_Part):
    dsn_tns = cx_Oracle.makedsn('Server_NAME', 'XXXXX', service_name='TEST')
    conn = cx_Oracle.connect(user=r'XXX', password='XXXX', dsn=dsn_tns)
    c = conn.cursor()
    w_sql =('SELECT RELEASED_DT FROM TABLE1 
       WHERE PART_NO = UPPER(TRIM(:Part_No_New_Part)) AND STATE =\'Released\'')
    c.execute(w_sql,[Part_No_New_Part])
    for result in c:
        if result ==' ':
            print(" ")
        else:
            print('')
    return result


def document(result):
        d = doc.add_paragraph()
    d.add_run('Date implemented: ').bold=True
    d.add_run(date_implemented(Part_No_New_Part))

Tags: runtextinaddegglibpackagessite
1条回答
网友
1楼 · 发布于 2024-03-28 17:48:47

所以你可以

str(date_var_from_sql)

或者如果需要自定义格式:

date_var_from_sql.strftime('%m/%d/%Y')

有关strftime的格式字符串语法,请参见this

相关问题 更多 >