2

ヴァラドックによると

var now = new DateTime.now(new TimeZone.local());
var timestamp = now.format("\%F.\%T");

タイムスタンプを「2012-08-28.09:51:06」に設定する必要があります。「F」と「T」で「エラー: 無効なエスケープ シーケンス」と表示されるのはなぜですか? valadocの他の形式でも同じエラーが発生し、now.to_string() は実際には "2012-08-28T09:51:06+0000" になります。

編集:おそらく組み込みLinuxターゲットに何かが欠けていますか?

編集: ここのテスト コード、glib 2.26.1 を使用するこのプロジェクトで "(null)" を出力します。

4

1 に答える 1

2

NullUserExceptionで述べたように、バックスラッシュを含めるべきではありません。これが無効なエスケープシーケンスエラーの原因です。

バックスラッシュを削除しても機能しない理由は、2.30サイクルまで%T形式指定子が追加されなかったためです。関連するコミットは414c8ce532c19fe65deb8dfb80222d0164be5cbeです。

代わりに次のようにすることで回避できます。

var timestamp = now.format ("%F.%H:%M:%S");
于 2012-08-30T23:12:13.833 に答える