強火で進め

このブログではプログラム関連の記事を中心に書いてます。

日付フォーマットの指定

# -*- coding: utf-8 -*-

import pyExcelerator
import datetime

w = pyExcelerator.Workbook()
ws = w.add_sheet(u'シート(1)')

fmts = [
    '[$-411]ge.m.d',
    u'[$-411]ggge"年"m"月"d"日"',
    'yyyy/m/d',
    u'yyyy"年"m"月"d"日"',
    u'h"時"mm"分"ss"秒"'
    'YY/M/D',
    'D-MMM-YY',
    'D-MMM',
    'MMM-YY',
    'h:mm AM/PM',
    'h:mm:ss AM/PM',
    'h:mm',
    'h:mm:ss',
    'YY/M/D h:mm',
    'mm:ss',
    '[h]:mm:ss',
    'mm:ss.0'
]

i = 0
for fmt in fmts:
    ws.write(i, 0, fmt)

    style = pyExcelerator.XFStyle()
    style.num_format_str = fmt

    ws.write(i, 4, datetime.datetime(2008, 1, 2, 10, 11, 12), style)

    i += 1

w.save('dates.xls')

今回は「2008/1/2 10:11:12」をさまざまなフォーマット指定で出力してみました。
【作成したExcelの内容】

以下のような凝ったフォーマットを指定しても正しく処理されます(スバラシイ!)。

    '[$-411]ge.m.d',
    u'[$-411]ggge"年"m"月"d"日"',