首先说明本地机器格式:
下午 17:20 星期二 2014年6月10日
有个日期字符串 2014-6-10
当使用DateTime.TryParse()转换出的日期,就变成了我本地机器的格式
DateTime.TryParse() 这个方法,可以指定4个参数,但我不懂中间两个参数什么意思,以及如何设置时间格式
CultureInfo cultureInfo = CultureInfo.CurrentCulture;
DateTimeFormatInfo dateTimeFormatInfo = new DateTimeFormatInfo();
//dateTimeFormatInfo.SetAllDateTimePatterns(
我想有可能是这个地方,但搞不太懂。
烦请有经验的高手给指点下,谢谢!!
.net c#
需要把这个日期作为参数传给数据库,而不是输出为字符串
能像楼下几位说的,那么简单么?
今天用了 dotpeek反编译了,一看就明白了。
哈哈,这个反编译工具好用。
解决方法如下:
//获取不依赖于区域性的(固定的)默认只读 DateTimeFormatInfo 对象。
DateTime.TryParse(dateString, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out date);
DateTime是一个日期值.里面保存的是一个UTC的整数值.你锁说的 "就变成了我本地机器的格式"
是你在输出的时候就是.ToString的时候没有指定输出格式造成的
你可以在.ToString("yyyy-MM-dd")类似这种的字符串来指定输出格式
你日期在数据库里是怎么办保存的?
是什么语言啊
DateTime.Now.ToString("下午h:m分 dddd yyyy年M月d日");
吴瑞祥 解释的很详细了 自己做个demo就好理解了
DateTime.TryParse 方法 (String s, IFormatProvider provider, DateTimeStyles styles, DateTime result)
参数详解
返回值
类型:System.Boolean true if the s parameter was converted successfully; otherwise, false.' xml:space="preserve">如果 s 参数成功转换,则为 true;否则为 false。不知是我没表达清楚,还是你理解错误了。
我需要做的是,强制程序把形如时间字符串 2014-6-16
转换为固定格式的日期对象,如2014-6-16 14:20 这样的,而不会随着机器的设定而改变。
@郭伟: 我看你问那个函数以及参数的意思 如果是字符串转化成日期 那直接用日期格式转换成吗
SimpleDateFormat sdm=new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
Date time = sdm.format(需要转换的字符串);
@itlong: 这出来的,是一个字符串啊。。
@郭伟: 变量time是日期类型 不是字符串
@itlong: SimpleDateFormat 哪个命名空间的啊
@郭伟:
java.text.SimpleDateFormat
@itlong: 我怎么说不对劲呢,这是.net 哥哥
看问题补充了吗
@郭伟: I'm sorry