日期格式难题

问题描述

日期格式的输入的设计采用文本框好,还是采用<html:select/>?如用户输入【2010-02-22】至【2011-02-23】日期格式在MYSQL最好采用什么数据类型来存储,并便于查询。如select*fromtable1wherefield1=?between输入值1and输入值2;要这样做吗?另外一个就是?假如我要查询像这样的字段?管体规格219*6.35将这样的数据怎样做查询呢?用什么数据类型好呢?字符串?各位大哥些,帮帮小弟啊。。。。

解决方案

解决方案二:
用字符串然后用to-date函数
解决方案三:
最好还是用date,不过条件可以用字符串,传入后转换为date再进行比较查询
解决方案四:
用my97吧,可以先把,也可以根据自己需求去设计,比如你想选【2010-02-22】至【2011-02-23】当你选第一个时间时,再选第二个时间就不能选22日以前的时间了。很方便.试试.
解决方案五:
第一:关于时间格式的内容,在前台输入的时候还是使用时间控件最好,这方面的控件有很多,用户的体验也会好很多。如果使用文本框,格式的校验比较麻烦;使用select框,你的时间间隔为多少好呢?至于在数据库中的格式,如果与时区无关,直接使用字符串会比较方便,因为前台使用的都是字符串格式的。你觉得呢?第二:管体规格219*6.35这种格式在数据库中怎样存储比较方便查询最简单的方式,用两个字段来存在,PIPE_LENGTH、PIPE_DIA这样查询的时候一个and操作就OK了,同时也支持查找某一个数据的所有管体。纯属个人观点,欢迎讨论
解决方案六:
我的开发环境是j2ee,怎样用控件呢?
解决方案七:
引用4楼zhengkaifl的回复:

第一:关于时间格式的内容,在前台输入的时候还是使用时间控件最好,这方面的控件有很多,用户的体验也会好很多。如果使用文本框,格式的校验比较麻烦;使用select框,你的时间间隔为多少好呢?至于在数据库中的格式,如果与时区无关,直接使用字符串会比较方便,因为前台使用的都是字符串格式的。你觉得呢?第二:管体规格219*6.35这种格式在数据库中怎样存储比较方便查询最简单的方式,用两……

恩顶啊不过数据库存时间用字符串有待尚缺当你这个字段不经常用只是显示时可以存字符串(时间格式也完全可以)但是当你需要从库里取出来并有一些操作时你就能明显体会到用时间格式的方便
解决方案八:
怎样实现日期格式的查询?用户输入2010-01-11,用什么数据类型好?还有一种格式2010/02/21又用什么数据类型存储好呢?便于经常查询?假如我现在要查询2010-01-11至2010-09-22之间的管体信息?2010/01/11至2010/09/12但上面的时间值是通过用户输入得到.在MySQL5.1.53版本中应该怎样实现功能呢?
解决方案九:
大哥回答的好,小弟加分!
解决方案十:
我们都是这样做的:SELECTt.*FROMt_tabletWHEREt.create_time>=:输入的日期ANDt.create_time<:输入结束日期的下一天

输入的字符串转为Date时,把时分秒都置为0就可以了。
解决方案十一:
用timestamp存储时间
解决方案十二:
该回复于2010-11-25 13:48:30被版主删除
解决方案十三:
管体规格219*6.35应该用什么数据类型,以便进行查询如用户输入219*6.35最好还是不分开查!
解决方案十四:
varchar
解决方案十五:
个人觉得用Date就是
解决方案:
数据库里面都有固定的日期转换函数,如Oracle里面的to_date(),其他的你找找!
解决方案:
上面说的差不多了,楼主可以看看给点分了
解决方案:
SELECTt.*FROMt_tabletWHEREt.create_time>=输入的日期ANDt.create_time<输入结束日期的下一天还是没有结果?如果我查询制定日期怎么办呢?假如我只查询2010-09-08的记录应该用什么数据类型呢?
解决方案:
用date就行了,完全满足要求
解决方案:
引用2楼culven的回复:

最好还是用date,不过条件可以用字符串,传入后转换为date再进行比较查询

+1
解决方案:
支持用timestamp存储时间;数据库的时间字段好像就是timestamp
解决方案:
SELECTt.*FROMt_tabletWHEREt.create_time>=输入的日期ANDt.create_time<输入结束日期的下一天还是没有结果?如果我查询制定日期怎么办呢?假如我只查询2010-09-08的记录应该用什么数据类型呢?
解决方案:
引用21楼xianaofei的回复:

SELECTt.*FROMt_tabletWHEREt.create_time>=输入的日期ANDt.create_time<输入结束日期的下一天还是没有结果?如果我查询制定日期怎么办呢?假如我只查询2010-09-08的记录应该用什么数据类型呢?

不用什么下一天create_time>to_date(2010-09-0800:00:01,'YYYY-MM-DDHH24:MI:SS')andcreate_time<to_date(2010-09-0823:59:59,'YYYY-MM-DDHH24:MI:SS')

00:00:01和23:59:59是固定的你拼接好字符串就行了
解决方案:
数据库还是用timestamp存储时间查询的时候最好用日期控件用输入框的判断太麻烦接收查询参数用String就行了查询语句如上
解决方案:
引用3楼samuelfisher的回复:

用my97吧,可以先把,也可以根据自己需求去设计,比如你想选【2010-02-22】至【2011-02-23】当你选第一个时间时,再选第二个时间就不能选22日以前的时间了。很方便.试试.

+1,这个用在自己的界面上,样式随意方便输入,多好呀!楼主用个吧
解决方案:
页面上就是字符串的,数据里要存字符串的就不用处理了要存DATE型的就转一下就可以了
解决方案:
还是用字符串吧。。。查询的时候再todate就行了。。。方便

时间: 2024-08-27 07:35:37

日期格式难题的相关文章

金山WPS表格统一日期格式教程

  日期的格式有很多种,因此,不同的人在填写表格的时候,可能会输入不同的格式.如果想要将表格中原本格式不一的日期修改为统一显示的格式显示该怎么办呢?下面,小编就以下面这张金山WPS表格(见图1)为例子,为大家讲解一下金山WPS表格统一日期格式的方法. 图1:金山WPS表格 在Excel中文本.数字格式的日期即无法统一设置日期格式也不能用公式进行日期计算.对于记录少的小表格我们可以重新输入日期,但当表格中有几百上千条记录时,重新输入日期显然并不容易.其实在WPS表格中通过函数就可以轻松把文本.数字

数字日期转化为汉字日期格式

汉字 script>  /*  功能:YYYY-MM-DD 数字日期转化为汉字  例:1984-3-7 -> 一九八四年三月七日  调用:baodate2chinese("1984-3-7")  */  var chinese = ['零','一','二','三','四','五','六','七','八','九'];  var len = ['十'];  var ydm =['年','月','日'];  function num2chinese(s)  {    file:/

Sql Server 常用日期格式

server SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(

JavaScript数字日期转化为汉字日期格式

javascript|汉字|日期 <script>/*  功能:YYYY-MM-DD 数字日期转化为汉字  例:1984-3-7 -> 一九八四年三月七日  调用:baodate2chinese("1984-3-7")*/var chinese = ['零','一','二','三','四','五','六','七','八','九'];var len = ['十'];var ydm =['年','月','日'];function num2chinese(s){    //

php 日期格式转换:php日期格式转换总结

php日期格式转换总结<?php//将当前时间转換成yyyy-mm-dd格式串,再转换成日期格式,绕了一圈哈echo strtotime(date('Y-m-d',time()).' 00:00:00');//将GNU 日期输入格式的字符转换成时间echo strtotime('now');//标准的字符串转换成时间$t = '2012-9-10 15:18:06';$time = strtotime($t);//将时间转换成日期字符yyyymmdd,再转换成整型格式$d = intval(da

哈哈,不必为数据库的日期格式转换苦恼了

数据|数据库|转换 只要在convert中指定日期格式的代号就够了,如: select convert(char(20),getdate(),101) select emp_id,convert(char(20),hire_dt,101)  from employee ----------------------------------------------------- 日期格式                   代号 -------------------- ----------- 04

SQL Server日期格式的转换

server|转换 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 这对于在要不同数据库间转移数据或者习惯oracle日期格式YYYY-MM-DD HH24:MI:SS的人多少有些不方便. 我整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(),

数据库的日期格式转换

只要在convert中指定日期格式的代号就够了,如: select convert(char(20),getdate(),101) select emp_id,convert(char(20),hire_dt,101) from employee ----------------------------------------------------- 日期格式          代号 -------------------- ----------- 04/05/2000          10

输出带日期格式的随机数.asp

<%Function GetRanNum()'****************************************'函数名:GetRanNum'作  用:输出带日期格式的随机数'参  数:无   ----'返回值:如GetRanNum(),即输出200409071553464617,为2004年09月07日15时53分46秒4617随机数'关联函数:FormatIntNumber'**************************************** GetRanNum =