2013-02-28 38 views
0

我收到了一個不希望的日期格式的字段查詢(Thu Feb 21 00:00:00 EST 2013) 有什麼方法可以將它修改爲mm-dd-yyy?有沒有什麼方法來格式化查詢中的字段日期?

我正在使用JavaScript,我發現了一種PHP方式來做到這一點,但可悲的是它必須在JavaScript中,所以指令必須與TOAD中的方法幾乎相同。

我嘗試了CONVERT()方法,它不起作用。我不確定我是否正確使用它,雖然

+2

3位數年份?這很奇怪。這是一個歷史數據庫嗎?無論如何,請參閱Javascript Date方法'getDate','getMonth'和'getYear'。 – Barmar 2013-02-28 21:56:15

+0

查看http://stackoverflow.com/questions/1056728/formatting-a-date-in-javascript – 2013-02-28 21:59:55

回答

1

Convert()函數可以正常工作,但是您需要使用正確的格式代碼: SQL Convert() Function

SELECT Convert(char(10), @date, 110) 
0

Date.js對於日期格式非常方便。

0

JS中有基本的Date對象函數可以使用。

首先,創建日期變量:

var date = new Date('your date value'); 

然後你就可以訪問各個日期件:

var month = date.getMonth() + 1; //gets the month . . . it's 0-based, so add 1 
var day = date.getDate();   //gets the day of the month 
var year = date.getFullYear(); //gets the 4-digit year 

一旦你有了這些值,你可以在任何形式將它們連接起來,你」喜歡。對於基本的mm-dd-yyyy,請使用:

var formattedDate = month + "-" + day + "-" + year; 

還有時間和時區值。

0

你可能會嘗試轉換爲unix時間戳,然後格式化。我沒有測試過這個,它可能會拋出一個錯誤,但你明白了。

var input = your date; 
input = input.split(" - ").map(function (date){ 
return Date.parse(date+"-0500")/1000; 
}).join(" - "); 

var year = input.getYear(); 
var month = input.getMonth(); 
var day = input.getDay(); 
var hours = input.getHours(); 
var minutes = input.getMinutes(); 
var seconds = input.getSeconds(); 
var formatted = month + " " + day + ", " + year + " at " hours + ':' + minutes + ':' +  seconds; 
0

這是一種混合不良的格式。有兩種基本的方法來修改它,一種是重新排序你的位,另一種是將它轉換爲日期對象並使用它來創建新的字符串。無論哪種方式,你都沒有說過如何處理時區偏移量。

對時區使用縮寫或名稱是不明確的,對它們沒有標準,有些被複制(EST用於三個不同的時區)。在任何情況下,一個簡單的重新排序可以是:

function formatDate(s) { 
    var months = {jan:'01', feb:'02', mar:'03', apr:'04', 
       may:'05', jun:'06', jul:'07', aug:'08', 
       sep:'09', oct:'10', nov:'11', dec:'12'}; 
    var s = s.split(' '); 
    var d = (s[2] < 10? '0' : '') + s[2]; 

    return months[s[1].toLowerCase()] + '-' + d + '-' + s[5]; 
} 

alert(formatDate('Thu Feb 21 00:00:00 EST 2013')); // 02-21-2013 

輸出格式(MM-DD-YYYY)是不明確的,可以考慮使用像21-FEB-2013或類似ISO8601的標準格式(2013- 02-21)。

如果您需要考慮時區,創建日期對象,添加偏移量,然後取回新日期將更容易。但是,您還需要了解如何將字符串時區轉換爲可與日期一起使用的數字(最好是分鐘,但小時數爲確定)。

相關問題