字符串格式化转换

来源:互联网 发布:淘宝客服怎么绑定旺旺 编辑:程序博客网 时间:2024/05/29 06:50

Recently in dotnet Category

如何在asp.net里获取当前时间,并字符串格式化转换

| Permalink

1.string   strTime   =   DateTime.Now.ToLongTimeString();


2.

DateTime   dt   =   DateTime.Now;  
String   str   =   dt.ToString("yyyy-MM-dd");

或者
string   str   =   DateTime.Now.ToString("yyyy-MM-dd");  
or  
string   str   =   DateTime.Now.ToShortDateString();



3.DateTime.Now.ToString("yyyy-MM-dd");取日期,得到如2005-02-18的格式
DateTime.Now.ToString("hh:mm:ss");取时间,得到如10:45:30的格式

格式 显示
M/d/yy 12/7/58
d-MMM 7-Dec
d-MMMM-yy 7-December-58
d MMMM 7 December
MMMM yy December 58
hh:mm tt 08:50 PM
h:mm:ss t 8:50:35 P
H:mm 20:50
H:mm:ss 20:50:35
M/d/yyyy H:mm 12/7/1958 20:50

字符 说明
(:) 时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用作时间分隔符的实际字符由系统的 LocaleID 值确定。
(/) 日期分隔符。在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用作日期分隔符的实际字符由您的区域设置确定。
(%) 用于表明不论尾随什么字母,随后字符都应该以单字母格式读取。也用于表明单字母格式应以用户定义格式读取。有关详细信息,请参阅下面的内容。
d 将日显示为不带前导零的数字(如 1)。如果这是用户定义的数字格式中的唯一字符,请使用 %d。
dd 将日显示为带前导零的数字(如 01)。
ddd 将日显示为缩写形式(例如 Sun)。
dddd 将日显示为全名(例如 Sunday)。
M 将月份显示为不带前导零的数字(如一月表示为 1)。如果这是用户定义的数字格式中的唯一字符,请使用 %M。
MM 将月份显示为带前导零的数字(例如 01/12/01)。 
MMM 将月份显示为缩写形式(例如 Jan)。
MMMM 将月份显示为完整月份名(例如 January)。
gg 显示时代/纪元字符串(例如 A.D.)
h 使用12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。如果这是用户定义的数字格式中的唯一字符,请使用 %h。
hh 使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。
H 使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %H。
HH 使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。
m 将分钟显示为不带前导零的数字(例如 12:1:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %m。
mm 将分钟显示为带前导零的数字(例如 12:01:15)。
s 将秒显示为不带前导零的数字(例如 12:15:5)。如果这是用户定义的数字格式中的唯一字符,请使用 %s。
ss 将秒显示为带前导零的数字(例如 12:15:05)。
f 显示秒的小数部分。例如,ff 将精确显示到百分之一秒,而 ffff 将精确显示到万分之一秒。用户定义格式中最多可使用七个 f 符号。如果这是用户定义的数字格式中的唯一字符,请使用 %f。 
t 使用 12 小时制,并对中午之前的任一小时显示大写的 A,对中午到 11:59 P.M 之间的任一小时显示大写的 P。如果这是用户定义的数字格式中的唯一字符,请使用 %t。
tt 使用 12 小时制,并对中午之前任一小时显示大写的 AM;对中午到 11:59 P.M 之间的任一小时显示大写的 PM。
y 将年份 (0-9) 显示为不带前导零的数字。如果这是用户定义的数字格式中的唯一字符,请使用 %y。
yy 以带前导零的两位数字格式显示年份(如果适用)。 
yyy 以三位数字格式显示年份。
yyyy 以四位数字格式显示年份。
z 显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用 %z。
zz 显示带前导零的时区偏移量(例如 -08)
zzz 显示完整的时区偏移量(例如 -08:00)

DataFormatString--格式化字符串,常用格式

| Permalink

程序:

public partial class FormatStrings : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
  double x = 2005.5;
  int y = 128;
  double z = 0.25;

  Response.Write(x.ToString() + " 以C2格式化之后 " + String.Format("{0:C2}", x) + "<BR>");
  Response.Write(y.ToString() + " 以D格式化之后 " + String.Format("{0:D}", y) + "<BR>");
  Response.Write(x.ToString() + " 以E2格式化之后 " + String.Format("{0:E2}", x) + "<BR>");
  Response.Write(x.ToString() + " 以F4格式化之后 " + String.Format("{0:F4}", x) + "<BR>");
  Response.Write(x.ToString() + " 以G格式化之后 " + String.Format("{0:G}", x) + "<BR>");
  Response.Write(x.ToString() + " 以N3格式化之后 " + String.Format("{0:N3}", x) + "<BR>");
  Response.Write(z.ToString() + " 以P格式化之后 " + String.Format("{0:P}", z) + "<BR>");
  Response.Write(y.ToString() + " 以X格式化之后 " + String.Format("{0:X}", y) + "<BR>");
  Response.Write(x.ToString() + " 以00####.00格式化之后 " + String.Format("{0:00####.00}", x) + "<BR>");
    }

效果:

2005.5 以C2格式化之后 ¥2,005.50
128 以D格式化之后 128
2005.5 以E2格式化之后 2.01E+003
2005.5 以F4格式化之后 2005.5000
2005.5 以G格式化之后 2005.5
2005.5 以N3格式化之后 2,005.500
0.25 以P格式化之后 25.00%
128 以X格式化之后 80
2005.5 以00####.00格式化之后 002005.50

更多:

DataFormatString="{0:格式字符串}"
在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的格式;
数字、货币格式:
在指定的格式符号后可以指定小数所要显示的位数。例如原来的数据为「1.56」,若格式设定为 {0:N1},则输出为「1.5」。其常用的数值格式如下表所示:
格式字符串 输入 结果
"{0:C}" 12345.6789 $12,345.68
"{0:C}" -12345.6789 ($12,345.68)
"{0:D}" 12345 12345
"{0:D8}" 12345 00012345
"{0:E}" 12345.6789 1234568E+004
"{0:E10}" 12345.6789 1.2345678900E+004
"{0:F}" 12345.6789 12345.68
"{0:F0}" 12345.6789 12346
"{0:G}" 12345.6789 12345.6789
"{0:G7}" 123456789 1.234568E8
"{0:N}" 12345.6789 12,345.68
"{0:N4}" 123456789 123,456,789.0000
"Total: {0:C}" 12345.6789 Total: $12345.68
常用的日期时间格式:
格式 说明 输出格式
d 精简日期格式 MM/dd/yyyy
D 详细日期格式 dddd, MMMM dd, yyyy
f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm
F
完整日期时间格式
(long date + long time)
dddd, MMMM dd, yyyy HH:mm:ss
g 一般格式 (short date + short time) MM/dd/yyyy HH:mm
G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss
m,M 月日格式 MMMM dd
s 适中日期时间格式 yyyy-MM-dd HH:mm:ss
t 精简时间格式 HH:mm
T 详细时间格式 HH:mm:ss  

用DataFormatString格式化GridView

在GridView里面显示数据,要显示的数据有好多位小数,就想让它只显示两位小数,在delphi里,直接用DisplayFormat就行了,在.net中,查了半天msdn,发现使用DataFormatString是可以实现这个功能的,但是怎么设置就不起作用,最后发现,由于2.0出于安全性的考虑,还要同时设置HtmlEncode = false,才能够使DataFormatString生效.

留个记号,下次用的时候,就不用浪费N多时间了.

还有还有,DataFormatString = "{0:F}",是默认格式,显示两位小数,如果需要显示的小数位数为其他值,DataFormatString = "{0:Fn}"即可.

DataFormatString用于获取或设置指定列中各项的显示格式的字符串。
    形式为{A:Bxx}。例如,格式化字符串{0:F2}将显示带两位小数的定点数。
       其中A值只能设置为0,因为每个单元格中只有一个值。
       冒号后的字符(常规示例中为B)指定值的显示格式
       C 以货币格式显示数值。
       D 以十进制格式显示数值。
       E 以科学记数法(指数)格式显示数值。
       F 以固定格式显示数值。
       G 以常规格式显示数值。
       N 以数字格式显示数值。
       X 以十六进制格式显示数值。

ASP.NET关于弹出对话框的函数代码(C#代码)

| Permalink

/////////////////////////////////////////////////////////////////////////
        #region 弹出对话框
        /// <summary>
        /// 弹出对话框
        /// </summary>
        /// <param name="strMsg">内容</param>
        private void ShowMessage(string strMsg)
        {
            Response.Write("<script>window.alert('"+strMsg+"');</script>");
        }
        #endregion  
////////////////////////////////////////////////////////////////////////
        #region 弹出对话框,并后退
        /// <summary>
        /// 弹出对话框
        /// </summary>
        /// <param name="strMsg">内容</param>
        private void ShowMessageback(string strMsg)
        {
            Response.Write("<script>window.alert('"+strMsg+"');history.back(-1);</script>");
            Response.End();
        }
        #endregion  
///////////////////////////////////////////////////////////////////////////
        #region 弹出对话框,并返回到指定页面
        /// <summary>
        /// 弹出对话框,并返回到指定页面
        /// </summary>
        /// <param name="strMsg"></param>
        /// <param name="URL"></param>
        private void ShowMessageJump(string strMsg,string URL)
        {
            Response.Write("<script>window.alert('"+strMsg+"');location='"+URL+"';</script>");
            Response.End();
        }
        #endregion

apsx获取系统参量的一些函数

| Permalink

qDrives = Environment.OSVersion.ToString();
//获取系统文件夹
qSystemDir = Environment.SystemDirectory.ToString();
/*获取映射到进程上下文的物理内存量,通过这一内存映射量可以了解ASP.NET程序在运行时需要多少系统物理内存,有助于更好的规划我们的整个应用,因为物理内存量是以Byte为单位的,所以我们将此数值除以1024,可以得到单位为KB的物理内存量*/
qMo = (Environment.WorkingSet/1024).ToString();
//获取当前目录(即该进程从中启动的目录)的完全限定路径
qCurDir = Environment.CurrentDirectory.ToString();
//获取主机的网络域名
qDomName = Environment.UserDomainName.ToString();
//获取系统启动后经过的毫秒数
qTick = Environment.TickCount;
//计算得到系统启动后经过的分钟数
qTick /= 60000;
//获取机器名
qMachine = Environment.MachineName;
//获取运行当前进程的用户名
qUser = Environment.UserName;
/*检索此计算机上格式为"<驱动器号>:/"的逻辑驱动器的名称,返回字符串数组,这是下一步操作的关键所在*/
achDrives = Directory.GetLogicalDrives();
//获取此字符串数组的维数,确定有多少个逻辑驱动器
nNumOfDrives = achDrives.Length;

DetailsView使用DropDownList1

| Permalink

<asp:TemplateField HeaderText="类型">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server">
<asp:ListItem>0</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>00</asp:ListItem>
<asp:ListItem>11</asp:ListItem>
<asp:ListItem>22</asp:ListItem>
<asp:ListItem>33</asp:ListItem>
</asp:DropDownList>
</InsertItemTemplate>
</asp:TemplateField>

在插入(DetailsView1_ItemInserting)或更新(DetailsView1_ItemUpdating)事件中加入
代码:
string str=((DropDownList)DetailsView1.Rows[3].Cells[1].FindControl("DropDownList1")).SelectedValue
e.Values.Add("你的绑定的名字", str);

.net 自定义类中使用Response.Write

| Permalink
.net 自定义类中使用Response.Write直接使用HttpContext.Current.Response.Write