using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Globalization;namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string test = "2009-10-10 上午 10:10:10"; DateTime dt; DateTime.TryParseExact(test, "yyyy-MM-dd ttt HH:mm:ss", new CultureInfo("zh-CN"), DateTimeStyles.None, out dt); Console.WriteLine(dt); } } } 应该可以用13楼的方法,结果还是datetime而不是string
string date = "2009-10-10 上午 10:10:10"; date = date.Replace(' 上午 '," ");string date = "2009-10-10 下午 16:10:10"; date = date.Replace(' 下午 '," ");
我测试的是,LCL_data方法。 string date = "2009-10-10 上午 10:10:10"; date = date.Replace(' 上午 '," "); string date = "2009-10-10 下午 16:10:10"; date = date.Replace(' 下午 '," "); 这个法可能可以得到字符窜格式,但转化成日期时间类型后还是不行。
时间和日期是有个空格间隔开来的, date = date.Replace(' 上午'," "); 再转日期类型试试
这个意思?
string str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
这样只是得到个字符串,如果用时间格式,用CONVERT进行转换。ToString("yyyy-MM-dd HH:mm:ss");
有很多种格式,自己可以上网查下。例如:ToString("yyyy年MM月dd日");
DateTime dt;
DateTime.TryParseExact(test, "yyyy-MM-dd ttt HH:mm:ss", new CultureInfo("zh-CN"), DateTimeStyles.None, out dt);
richTextBox2.Text = dt.ToString("yyyy-MM-dd HH:mm:ss");
也可以在抓取数据的时候规定格式
mysql数据库可以用到date_format(字段,'%Y-%m-%d %HH:%mm:%ss')
其他的数据库可以找找
3楼的我试过,补充一下,转化成sting后是没有问题,显示“2009-10-10 10:10:20”的形式,可是当再转化成Datetime类型时,还是不行啊,仍显示“2009-10-10 上午 10:10:20”的样子,不知道为什么。
真搞不懂你到底要干吗
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Globalization;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string test = "2009-10-10 上午 10:10:10";
DateTime dt;
DateTime.TryParseExact(test, "yyyy-MM-dd ttt HH:mm:ss", new CultureInfo("zh-CN"), DateTimeStyles.None, out dt);
Console.WriteLine(dt);
}
}
}
应该可以用13楼的方法,结果还是datetime而不是string
date = date.Replace(' 上午 '," ");string date = "2009-10-10 下午 16:10:10";
date = date.Replace(' 下午 '," ");
string date = "2009-10-10 上午 10:10:10";
date = date.Replace(' 上午 '," "); string date = "2009-10-10 下午 16:10:10";
date = date.Replace(' 下午 '," ");
这个法可能可以得到字符窜格式,但转化成日期时间类型后还是不行。
date = date.Replace(' 上午'," ");
再转日期类型试试
你先放出你的代码。错误的代码也行取得用户定义的系统日期格式:
CultureInfo current=CultureInfo.CurrentCulture ;
string dateTimeFormat = current.DateTimeFormat;
不论什么格式的时间,在计算机里存储都是一样的,而所谓的“格式”只不过是给人看的,要显示什么样的格式都可以……
{
string dt="2009-10-10 下午 15:48:10";
//dt=dt.tostring("yyyy-MM-dd HH:mm:ss");//显示"2009-10-10 15:48:10"没问题。
DateTime times = DateTime.Parse(dt.tostring("yyyy-MM-dd HH:mm:ss"));
return times;
}
最后times的值还是:2009-10-10 下午 15:48:10;可是我想得到的是:2009-10-10 15:48:10;
还有我机器上右下角时间显示的是:下午 15:48
这不就有问题了吗。
你参与计算和存储的部分根据DateTime类型还能取不到你要的值吗?(虽然在VS的监测中你看到得是‘2009-10-10 下午 15:48:10’而已)