Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.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
C# 如何在SQL Server 2008中指定12小时时间格式_C#_Sql_Wpf_Database_Datetime Format - Fatal编程技术网

C# 如何在SQL Server 2008中指定12小时时间格式

C# 如何在SQL Server 2008中指定12小时时间格式,c#,sql,wpf,database,datetime-format,C#,Sql,Wpf,Database,Datetime Format,我使用的是SQLServer2008,我有一个数据库文件(mydata.mdf),其中一个表中有一列,该列的数据类型(Time) 我将此数据库文件添加到我的WPF-C#项目(使用VS2010),但我遇到了一个问题,其原因如下: 这个(时间)专栏讨论24小时系统中的时间,但我想在我的应用程序中使用(12小时)系统,所以有没有办法在SQLServer2008中定义12小时系统时间 如果没有,你认为最好的处理方法是什么 请尽快帮助我,因为我很忙,我想不出来…数据库中的时间没有“格式化”。它以某种内部格

我使用的是SQLServer2008,我有一个数据库文件(mydata.mdf),其中一个表中有一列,该列的数据类型(Time)

我将此数据库文件添加到我的WPF-C#项目(使用VS2010),但我遇到了一个问题,其原因如下:

这个(时间)专栏讨论24小时系统中的时间,但我想在我的应用程序中使用(12小时)系统,所以有没有办法在SQLServer2008中定义12小时系统时间

如果没有,你认为最好的处理方法是什么


请尽快帮助我,因为我很忙,我想不出来…

数据库中的时间没有“格式化”。它以某种内部格式表示(你可以在谷歌上搜索,但不应该在意),允许它以支持的精度表示一天中的每一刻

只有当应用程序将这些值转换为字符串以便向用户显示时,才会格式化这些值,并且您可以完全控制这些值


因此,如果您已将时间读入CLR DateTime类的实例中,则可以使用value.ToString(“h:mm:ss tt”)显示为12小时时间(省略日期)。将列出自定义格式选项

数据库中的时间未“格式化”。它以某种内部格式表示(你可以在谷歌上搜索,但不应该在意),允许它以支持的精度表示一天中的每一刻

只有当应用程序将这些值转换为字符串以便向用户显示时,才会格式化这些值,并且您可以完全控制这些值


因此,如果您已将时间读入CLR DateTime类的实例中,则可以使用value.ToString(“h:mm:ss tt”)显示为12小时时间(省略日期)。将列出自定义格式选项

答案是你真的不能,但别担心,这不是问题。在您的C#代码中设置日期格式

关键是日期和时间是一个绝对值,这是您希望SQL存储的值,那么12小时和24小时时钟只是一个显示细节,例如,13:00和1:00pm是等效的,不要担心SQL如何存储它,然后在C中使用以下方法来显示它:

DateTime myDateTime = GetTheTimeFromSomeMethod();
myDateTime.ToString("h:mm:ss tt");

有很多指南,但也有很多其他指南。答案是你真的不能,但别担心,这不是问题。在您的C#代码中设置日期格式

关键是日期和时间是一个绝对值,这是您希望SQL存储的值,那么12小时和24小时时钟只是一个显示细节,例如,13:00和1:00pm是等效的,不要担心SQL如何存储它,然后在C中使用以下方法来显示它:

DateTime myDateTime = GetTheTimeFromSomeMethod();
myDateTime.ToString("h:mm:ss tt");

有很多指南,但也有很多其他指南,例如,它必须从数据库格式化吗?C#和WPF都提供了许多内置的日期格式选项。例如,检查标签上的
ContentStringFormat
属性

如果您必须在数据库中执行此操作,那么下面是一个混乱的解决方法,它将起作用

它使用12小时时钟将日期格式化为字符串,然后删除其中的日期部分

select right(convert(varchar, cast('1/1/2010 23:59:59' as datetime), 100), 
charindex(' ', reverse(convert(varchar, cast('1/1/2010 23:59:59' as datetime), 100)))-1)

它必须从数据库格式化吗?C#和WPF都提供了许多内置的日期格式选项。例如,检查标签上的
ContentStringFormat
属性

如果您必须在数据库中执行此操作,那么下面是一个混乱的解决方法,它将起作用

它使用12小时时钟将日期格式化为字符串,然后删除其中的日期部分

select right(convert(varchar, cast('1/1/2010 23:59:59' as datetime), 100), 
charindex(' ', reverse(convert(varchar, cast('1/1/2010 23:59:59' as datetime), 100)))-1)

谢谢你的回答,但我的问题是,我有一个listview,我的listview的itemsource是一个来自DatatBase的查询如果你发布代码,我们可以看一下,但是你在列表视图中输入的数据类型是什么?您可以将其放入另一个集合中,然后对该集合中的字符串进行格式化。或者,listview上的a“format”属性还是类似属性?谢谢您的回答,但我的问题是,我有一个listview,并且我的listview的itemsource是来自Database的查询。如果您发布代码,我们可以查看一下,但是您要放入列表视图的数据类型是什么?您可以将其放入另一个集合中,然后对该集合中的字符串进行格式化。或者,列表视图上的属性是“格式”属性还是类似属性?