Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何获得今天并使用vala/genie将其转换为字符串?_String_Date_Glib_Vala_Genie - Fatal编程技术网

String 如何获得今天并使用vala/genie将其转换为字符串?

String 如何获得今天并使用vala/genie将其转换为字符串?,string,date,glib,vala,genie,String,Date,Glib,Vala,Genie,我有这个代码,但它失败了。为什么? // tomar la fecha fecha = GLib.Date(); print "cogiendo" var s = new StringBuilder("Fecha:"); dia:DateDay= fecha.get_day(); s.append_printf ("%u",dia); print s.str; fecha_str=s.str; 能说会道的回报: g_date_get_day:断言“g_date_valid d”失败来自文档:

我有这个代码,但它失败了。为什么?

// tomar la fecha
fecha = GLib.Date();
print "cogiendo"
var s = new StringBuilder("Fecha:");
dia:DateDay= fecha.get_day();
s.append_printf ("%u",dia);
print s.str;
fecha_str=s.str;
能说会道的回报:
g_date_get_day:断言“g_date_valid d”失败

来自文档:

如果日期结构是从g_Date_new获得的,则可以安全地进行变异,但无效,因此不适合日历计算


也许您想要设置时间,或者设置时间值。如果您想要今天的日期,请fecha.set\u time\u ttime\t

此代码运行良好!!在gnome的vala样本中搜索:

var now = new DateTime.now_local ();
fecha_str = now.get_day_of_month ().to_string()+"/"+now.get_month ().to_string()+"/"+now.get_year ().to_string()

我建议为此目的使用

如果希望当前日期作为区域设置相关或独立的格式,则未写入

依赖于区域设置,使用:

var dt=新的DateTime.now\u local; stdout.put dt.format%x; 独立于区域设置,使用注意,这还包括时间:

var dt=新的DateTime.now\u local; 标准存托凭证@$dt; 以自定义格式使用:

var dt=新的DateTime.now\u local; stdout.put dt.format%d/%m/%Y;//29/09/2014 我从您自己的答案中选择了自定义格式,但我不会使用它,因为它会让人困惑,因为通常带有/分隔日期的格式为%m/%d/%Y或%m/%d/%Y


我希望使用用户期望的语言环境默认格式,或者使用字符串或不使用时间的格式%F。对不起,我想使用当前日期,即今天的日期。使用glib 2.58,我现在可以使用dt assert!=如果我通过foreach循环,则返回空消息。为什么呢?我是否应该添加断言dt!=在标准输出之前为空?