JS、C#及SQL中的DateTime

一:SQL中的DataTime

1.       between and 相当于>= and <=

2.       常用的将DataTime查询成字符串的方法

Select CONVERT(varchar(100), GETDATE(), 23): // yyyy-MM-dd

Select CONVERT(varchar(100), GETDATE(), 20): // yyyy-MM-dd HH:mm:ss

Select CONVERT(varchar(100), GETDATE(), 111): //yyyy/MM/dd

Select CONVERT(varchar(100), GETDATE(), 112): //yyyyMMdd

二:JS中的Datatime

1.        生成时间:var a=new Date(yyyy,MM,dd,HH,mm,ss)

返回值:周 M+1 d HH:mm:ss UTC+0800 yyyy

(若d 超过月份M+1的天数,则返回M+2月 日 则为d减去M+1月份的天数)

New Date(n) ;

n是距离1970年1月1日的毫秒数

返回值是 周 月 1 HH:mm:ss UTC+0800 yyyy

2.       获取时间:var myDate = new Date();

var year=myDate.getYear(); //获取当前年份(2位)

var year1=myDate.getFullYear(); //获取完整的年份(4位,1970)

var moonth=myDate.getMonth(); //获取当前月份(0-11,0代表1月)

myDate.getDate(); //获取当前日(1-31)

myDate.getDay(); //获取当前星期X(0-6,0代表星期天)

myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)

myDate.getHours(); //获取当前小时数(0-23)

myDate.getMinutes(); //获取当前分钟数(0-59)

myDate.getSeconds(); //获取当前秒数(0-59)

myDate.getMilliseconds(); //获取当前毫秒数(0-999)

myDate.toLocaleDateString(); //获取当前日期  yyyy年M月d日

myDate.toLocaleTimeString(); //获取当前时间HH:mm:ss

myDate.toLocaleString( ); //获取日期与时间yyyy年M月d日 HH:mm:ss

3.       Date.parse方法支持的参数类型以及返回的结果类型

(Date对象的一个静态方法,其作用是“解析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间所间隔的毫秒数”。)

a.Date.parse(“yyyy-MM-dd”)
// On IE and Mozilla: NaN
  
b.Date.parse( "MM-dd-yyyy" )
// On IE: 距离1970年1月1日的毫秒数
// On Mozilla: NaN"  
  
c.Date.parse( "MM/dd/yyyy" )
Date.parse( "yyyy/MM/dd" ) 
// On IE and Mozilla: 距离1970年1月1日的毫秒数

三:C#中DateTime

1.       本周

(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止 ) 
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();

DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();

2.       本月

(,本月的第一天肯定是1号,最后一天就是下个月一号再减一天)

DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天

DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天

//巧用C#里ToString的字符格式化更简便

DateTime.Now.ToString("yyyy-MM-01");

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();

3.       本季度

(很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月 )

//首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了

DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");

//同理,本季度的最后一天就是下季度的第一天减一

DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

4.       本年度

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();

5.       各种格式

a. 用DateTime类的.toString(""yyyy-MM-dd""),

b. 用String类转换日期显示格式: String.Format("yyyy-MM-dd",yourDateTime);

但是,如果你的电脑里的"区域和语言设置"选项选中的是简体中文,那么你用toString(""yyyy/MM/dd"")来格式化2008-09-09时,会发现它根本不起作用!

这到底是为什么呢?原因就是在当前Culture(zh-CN)下,DateTime的DateSeparator是-而不是/. 这时我们在方法tostring里多加一个参数:System.Globalization.DateTimeFormatInfo.InvariantInfo,系统就会完全按照自定义格式来输出了!

c. DateTime dt = new DateTime(yyyy, M, d, H,m, s);//yyyy-MM-dd HH:mm:ss

String.Format("{0:y yy yyy yyyy}", dt);  // "8 08 008 2008"   year
String.Format("{0:M MM MMM MMMM}", dt);  // "3 03 Mar March"  month
String.Format("{0:d dd ddd dddd}", dt);  // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}",     dt);  // "4 04 16 16"      hour 12/24
String.Format("{0:m mm}",          dt);  // "5 05"            minute
String.Format("{0:s ss}",          dt);  // "7 07"            second
String.Format("{0:f ff fff ffff}", dt);  // "1 12 123 1230"   sec.fraction
String.Format("{0:F FF FFF FFFF}", dt);  // "1 12 123 123"    without zeroes
String.Format("{0:t tt}",          dt);  // "P PM"            A.M. or P.M.
String.Format("{0:z zz zzz}",      dt);  // "-6 -06 -06:00"   time zone

6.

注:

GMT 是“Greenwich Mean Time”的缩写,中文叫“格林威治标准时间”,是英国的标准时间,也是世界各地时间的参考标准。中英两国的标准时差为8个小时,即英国的当地时间比中国的北京时间晚8小时。

  BST 是“British Summer Time”的缩写,即“英国夏时制”比GMT快一小时,每年从三月底开始,到十月底结束。夏时制期间,中英两国的时差为7小时。

时间: 2024-10-05 02:13:14

JS、C#及SQL中的DateTime的相关文章

Sql中把datetime转换成字符串(CONVERT)

一.回想一下CONVERT()的语法格式: CONVERT (<data_ type>[ length ], <expression> [, style]) 二.这里注重说明一下style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式:一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,va

Sql中把datetime转换成字符串(CONVERT)(转)

一.回顾一下CONVERT()的语法格式: CONVERT (<data_ type>[ length ], <expression> [, style]) 二.这里注重说明一下style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式:一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,va

SQL server数据库中的DateTime类型出现的问题

我们知道这个SQL server数据库中的DateTime类型是数据库应用开发中经常用到的一种数据类型,而C#语言中也有DateTime类型,虽然二者都是用来描述时间的,但是它们的默认值是不同的,这点必须注意,在开发过程中,二者之间相互适应关系处理不当,可能会产生不必要的麻烦,就等于浪费时间,所以记住.举个例子看看: 创建一个windows应用程序,创建一个用户信息实体类UserInfo.代码如下: 注意的是:用户信息类中的“操作日期”属性是日期类型. 再创建一个业务操作类,UserInfoOp

sql 中convert和cast区别

SQL中的cast和convert的用法和区别 更多 2014/1/13 来源:SQL学习浏览量:14125 学习标签: cast convert sql 本文导读:SQL中的cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式.CAST 和 CONVERT 提供相似的功能,只是语法不同.在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式. 一.语法: 1.使用 CAST CAST ( expression AS d

sql中如何处理时间

---恢复内容开始--- 1,sql中getdate()函数的使用: getdate()函数从SQL Server中返回当前的时间和日期,如: 1 insert into T3(ID,AddTime) values(2,GETDATE()) 将把当前的时间插入到AddTime列中. 或者是,在创建表格的时候,可以指定AddTime列的默认值为getdate(),如图: sql语句如下: 1 insert into T3(ID) values(3) 结果: 2,sql中convert转换函数的使用

js实现类似php中strtotime函数和timetostr的日期转换/互换功能

<script type="text/javascript">   //日期(格式:yyyy-mm-dd H:i:s) ---转换为以秒为单位的unix时间轴(格式:xxxxxx) 方法一:   //摘取天上星:http://blog.csdn.net/zqtsx   function strtotime1(datetime){        var tmp_datetime = datetime.replace(/:/g,'-');        tmp_datetime

php -- php读取sqlserver中的datetime

php连接sqlserver2005时,读取出来的数据是01 15 2014 12:00AM, 也就是说日期的格式是MM DD YY hh:mmAM 那如何把它转变成24小时制,且显示的格式为YY-MM-DD hh:mm:ss打开 php.ini 配置文件 找到以下代码 ; On => Returns data converted to SQL server settings ; Off => Returns values as YYYY-MM-DD hh:mm:ss ; mssql.date

SQL中的循环

DECLARE @SOInfoList TABLE ( SONumber INT, SODate datetime, Status char(1) ) INSERT INTO @SOInfoList ( SONumber, SODate, Status ) SELECT T.c.value('(SONumber/text())[1]', 'int') AS SONumber ,T.c.value('(SODate/text())[1]', 'nvarchar(50)') AS SODate ,T

在SQL中使用CLR提供基本函数对二进制数据进行解析与构造

? 二进制数据包的解析一般是借助C#等语言,在通讯程序中解析后形成字段,再统一单笔或者批量(表类型参数)提交至数据库,在通讯程序中,存在BINARY到struct再到table的转换. 现借助CLR提供基本的INT2HEX(小端)等函数,在SQL中直接解析数据包. ? 基本函数 [Microsoft.SqlServer.Server.SqlFunction(Name = "Time2UTCBin")] public static SqlBinary Time2UTCBin(DateTi